home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue62 / ADSI / ActiveDs_TLB.pas next >
Encoding:
Pascal/Delphi Source File  |  2000-07-22  |  368.1 KB  |  10,098 lines

  1. unit ActiveDs_TLB;
  2.  
  3. // ************************************************************************ //
  4. // WARNING
  5. // -------
  6. // The types declared in this file were generated from data read from a
  7. // Type Library. If this type library is explicitly or indirectly (via
  8. // another type library referring to this type library) re-imported, or the
  9. // 'Refresh' command of the Type Library Editor activated while editing the
  10. // Type Library, the contents of this file will be regenerated and all
  11. // manual modifications will be lost.
  12. // ************************************************************************ //
  13.  
  14. // PASTLWTR : $Revision:   1.88  $
  15. // File generated on 12/2/1999 1:09:14 PM from Type Library described below.
  16.  
  17. // *************************************************************************//
  18. // NOTE:
  19. // Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties
  20. // which return objects that may need to be explicitly created via a function
  21. // call prior to any access via the property. These items have been disabled
  22. // in order to prevent accidental use from within the object inspector. You
  23. // may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively
  24. // removing them from the $IFDEF blocks. However, such items must still be
  25. // programmatically created via a method of the appropriate CoClass before
  26. // they can be used.
  27. // ************************************************************************ //
  28. // Type Lib: C:\WINNT\system32\activeds.tlb (1)
  29. // IID\LCID: {97D25DB0-0363-11CF-ABC4-02608C9E7553}\0
  30. // Helpfile:
  31. // DepndLst:
  32. //   (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
  33. //   (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
  34. // Errors:
  35. //   Hint: Member 'String' of '_ADS_CASEIGNORE_LIST' changed to 'String_'
  36. //   Hint: Member 'Type' of '__MIDL___MIDL_itf_ads_0000_0005' changed to 'Type_'
  37. //   Hint: Member 'Type' of '__MIDL___MIDL_itf_ads_0000_0014' changed to 'Type_'
  38. //   Hint: Member 'Class' of 'IADs' changed to 'Class_'
  39. //   Hint: Member 'Set' of 'IADsNameTranslate' changed to 'Set_'
  40. //   Hint: Member 'Type' of 'IADsEmail' changed to 'Type_'
  41. //   Hint: Member 'Type' of 'IADsPath' changed to 'Type_'
  42. //   Hint: Member 'Set' of 'IADsPathname' changed to 'Set_'
  43. //   Error creating palette bitmap of (TPropertyEntry) : Server activeds.dll contains no icons
  44. //   Error creating palette bitmap of (TPropertyValue) : Server activeds.dll contains no icons
  45. //   Error creating palette bitmap of (TAccessControlEntry) : Server activeds.dll contains no icons
  46. //   Error creating palette bitmap of (TAccessControlList) : Server activeds.dll contains no icons
  47. //   Error creating palette bitmap of (TSecurityDescriptor) : Server activeds.dll contains no icons
  48. //   Error creating palette bitmap of (TLargeInteger) : Server activeds.dll contains no icons
  49. //   Error creating palette bitmap of (TNameTranslate) : Server activeds.dll contains no icons
  50. //   Error creating palette bitmap of (TCaseIgnoreList) : Server activeds.dll contains no icons
  51. //   Error creating palette bitmap of (TFaxNumber) : Server activeds.dll contains no icons
  52. //   Error creating palette bitmap of (TNetAddress) : Server activeds.dll contains no icons
  53. //   Error creating palette bitmap of (TOctetList) : Server activeds.dll contains no icons
  54. //   Error creating palette bitmap of (TEmail) : Server activeds.dll contains no icons
  55. //   Error creating palette bitmap of (TPath) : Server activeds.dll contains no icons
  56. //   Error creating palette bitmap of (TReplicaPointer) : Server activeds.dll contains no icons
  57. //   Error creating palette bitmap of (TAcl) : Server activeds.dll contains no icons
  58. //   Error creating palette bitmap of (TTimestamp) : Server activeds.dll contains no icons
  59. //   Error creating palette bitmap of (TPostalAddress) : Server activeds.dll contains no icons
  60. //   Error creating palette bitmap of (TBackLink) : Server activeds.dll contains no icons
  61. //   Error creating palette bitmap of (TTypedName) : Server activeds.dll contains no icons
  62. //   Error creating palette bitmap of (THold) : Server activeds.dll contains no icons
  63. //   Error creating palette bitmap of (TPathname) : Server activeds.dll contains no icons
  64. //   Error creating palette bitmap of (TADSystemInfo) : Server activeds.dll contains no icons
  65. //   Error creating palette bitmap of (TWinNTSystemInfo) : Server activeds.dll contains no icons
  66. //   Error creating palette bitmap of (TDNWithBinary) : Server activeds.dll contains no icons
  67. //   Error creating palette bitmap of (TDNWithString) : Server activeds.dll contains no icons
  68. // ************************************************************************ //
  69. {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
  70. interface
  71.  
  72. uses Windows,
  73.   ActiveX,
  74.   Classes,
  75.   Graphics,
  76.   OleServer,
  77.   OleCtrls,
  78.   StdVCL;
  79.  
  80. type
  81.   ADS_SEARCH_HANDLE = THandle;
  82.   PADS_SEARCH_HANDLE = ^ADS_SEARCH_HANDLE;
  83.  
  84.   // *********************************************************************//
  85.   // GUIDS declared in the TypeLibrary. Following prefixes are used:
  86.   //   Type Libraries     : LIBID_xxxx
  87.   //   CoClasses          : CLASS_xxxx
  88.   //   DISPInterfaces     : DIID_xxxx
  89.   //   Non-DISP interfaces: IID_xxxx
  90.   // *********************************************************************//
  91. const
  92.   // TypeLibrary Major and minor versions
  93.   ActiveDsMajorVersion = 1;
  94.   ActiveDsMinorVersion = 0;
  95.  
  96.   LIBID_ActiveDs: TGUID = '{97D25DB0-0363-11CF-ABC4-02608C9E7553}';
  97.  
  98.   IID_IADs: TGUID = '{FD8256D0-FD15-11CE-ABC4-02608C9E7553}';
  99.   IID_IADsContainer: TGUID = '{001677D0-FD16-11CE-ABC4-02608C9E7553}';
  100.   IID_IADsCollection: TGUID = '{72B945E0-253B-11CF-A988-00AA006BC149}';
  101.   IID_IADsMembers: TGUID = '{451A0030-72EC-11CF-B03B-00AA006E0975}';
  102.   IID_IADsPropertyList: TGUID = '{C6F602B6-8F69-11D0-8528-00C04FD8D503}';
  103.   IID_IADsPropertyEntry: TGUID = '{05792C8E-941F-11D0-8529-00C04FD8D503}';
  104.   CLASS_PropertyEntry: TGUID = '{72D3EDC2-A4C4-11D0-8533-00C04FD8D503}';
  105.   IID_IADsPropertyValue: TGUID = '{79FA9AD0-A97C-11D0-8534-00C04FD8D503}';
  106.   IID_IADsPropertyValue2: TGUID = '{306E831C-5BC7-11D1-A3B8-00C04FB950DC}';
  107.   CLASS_PropertyValue: TGUID = '{7B9E38B0-A97C-11D0-8534-00C04FD8D503}';
  108.   IID_IPrivateDispatch: TGUID = '{86AB4BBE-65F6-11D1-8C13-00C04FD8D503}';
  109.   IID_ITypeInfo: TGUID = '{00020401-0000-0000-C000-000000000046}';
  110.   IID_ITypeComp: TGUID = '{00020403-0000-0000-C000-000000000046}';
  111.   IID_ITypeLib: TGUID = '{00020402-0000-0000-C000-000000000046}';
  112.   IID_IPrivateUnknown: TGUID = '{89126BAB-6EAD-11D1-8C18-00C04FD8D503}';
  113.   IID_IADsExtension: TGUID = '{3D35553C-D2B0-11D1-B17B-0000F87593A0}';
  114.   IID_IADsDeleteOps: TGUID = '{B2BD0902-8878-11D1-8C21-00C04FD8D503}';
  115.   IID_IADsNamespaces: TGUID = '{28B96BA0-B330-11CF-A9AD-00AA006BC149}';
  116.   IID_IADsClass: TGUID = '{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}';
  117.   IID_IADsProperty: TGUID = '{C8F93DD3-4AE0-11CF-9E73-00AA004A5691}';
  118.   IID_IADsSyntax: TGUID = '{C8F93DD2-4AE0-11CF-9E73-00AA004A5691}';
  119.   IID_IADsLocality: TGUID = '{A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}';
  120.   IID_IADsO: TGUID = '{A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}';
  121.   IID_IADsOU: TGUID = '{A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}';
  122.   IID_IADsDomain: TGUID = '{00E4C220-FD16-11CE-ABC4-02608C9E7553}';
  123.   IID_IADsComputer: TGUID = '{EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}';
  124.   IID_IADsComputerOperations: TGUID = '{EF497680-1D9F-11CF-B1F3-02608C9E7553}';
  125.   IID_IADsGroup: TGUID = '{27636B00-410F-11CF-B1FF-02608C9E7553}';
  126.   IID_IADsUser: TGUID = '{3E37E320-17E2-11CF-ABC4-02608C9E7553}';
  127.   IID_IADsPrintQueue: TGUID = '{B15160D0-1226-11CF-A985-00AA006BC149}';
  128.   IID_IADsPrintQueueOperations: TGUID = '{124BE5C0-156E-11CF-A986-00AA006BC149}';
  129.   IID_IADsPrintJob: TGUID = '{32FB6780-1ED0-11CF-A988-00AA006BC149}';
  130.   IID_IADsPrintJobOperations: TGUID = '{9A52DB30-1ECF-11CF-A988-00AA006BC149}';
  131.   IID_IADsService: TGUID = '{68AF66E0-31CA-11CF-A98A-00AA006BC149}';
  132.   IID_IADsServiceOperations: TGUID = '{5D7B33F0-31CA-11CF-A98A-00AA006BC149}';
  133.   IID_IADsFileService: TGUID = '{A89D1900-31CA-11CF-A98A-00AA006BC149}';
  134.   IID_IADsFileServiceOperations: TGUID = '{A02DED10-31CA-11CF-A98A-00AA006BC149}';
  135.   IID_IADsFileShare: TGUID = '{EB6DCAF0-4B83-11CF-A995-00AA006BC149}';
  136.   IID_IADsSession: TGUID = '{398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}';
  137.   IID_IADsResource: TGUID = '{34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}';
  138.   IID_IADsOpenDSObject: TGUID = '{DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}';
  139.   IID_IDirectoryObject: TGUID = '{E798DE2C-22E4-11D0-84FE-00C04FD8D503}';
  140.   IID_IDirectorySearch: TGUID = '{109BA8EC-92F0-11D0-A790-00C04FD8D5A8}';
  141.   IID_IDirectorySchemaMgmt: TGUID = '{75DB3B9C-A4D8-11D0-A79C-00C04FD8D5A8}';
  142.   IID_IADsAggregatee: TGUID = '{1346CE8C-9039-11D0-8528-00C04FD8D503}';
  143.   IID_IADsAggregator: TGUID = '{52DB5FB0-941F-11D0-8529-00C04FD8D503}';
  144.   IID_IADsAccessControlEntry: TGUID = '{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}';
  145.   CLASS_AccessControlEntry: TGUID = '{B75AC000-9BDD-11D0-852C-00C04FD8D503}';
  146.   IID_IADsAccessControlList: TGUID = '{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}';
  147.   CLASS_AccessControlList: TGUID = '{B85EA052-9BDD-11D0-852C-00C04FD8D503}';
  148.   IID_IADsSecurityDescriptor: TGUID = '{B8C787CA-9BDD-11D0-852C-00C04FD8D503}';
  149.   CLASS_SecurityDescriptor: TGUID = '{B958F73C-9BDD-11D0-852C-00C04FD8D503}';
  150.   IID_IADsLargeInteger: TGUID = '{9068270B-0939-11D1-8BE1-00C04FD8D503}';
  151.   CLASS_LargeInteger: TGUID = '{927971F5-0939-11D1-8BE1-00C04FD8D503}';
  152.   IID_IADsNameTranslate: TGUID = '{B1B272A3-3625-11D1-A3A4-00C04FB950DC}';
  153.   CLASS_NameTranslate: TGUID = '{274FAE1F-3626-11D1-A3A4-00C04FB950DC}';
  154.   IID_IADsCaseIgnoreList: TGUID = '{7B66B533-4680-11D1-A3B4-00C04FB950DC}';
  155.   CLASS_CaseIgnoreList: TGUID = '{15F88A55-4680-11D1-A3B4-00C04FB950DC}';
  156.   IID_IADsFaxNumber: TGUID = '{A910DEA9-4680-11D1-A3B4-00C04FB950DC}';
  157.   CLASS_FaxNumber: TGUID = '{A5062215-4681-11D1-A3B4-00C04FB950DC}';
  158.   IID_IADsNetAddress: TGUID = '{B21A50A9-4080-11D1-A3AC-00C04FB950DC}';
  159.   CLASS_NetAddress: TGUID = '{B0B71247-4080-11D1-A3AC-00C04FB950DC}';
  160.   IID_IADsOctetList: TGUID = '{7B28B80F-4680-11D1-A3B4-00C04FB950DC}';
  161.   CLASS_OctetList: TGUID = '{1241400F-4680-11D1-A3B4-00C04FB950DC}';
  162.   IID_IADsEmail: TGUID = '{97AF011A-478E-11D1-A3B4-00C04FB950DC}';
  163.   CLASS_Email: TGUID = '{8F92A857-478E-11D1-A3B4-00C04FB950DC}';
  164.   IID_IADsPath: TGUID = '{B287FCD5-4080-11D1-A3AC-00C04FB950DC}';
  165.   CLASS_Path: TGUID = '{B2538919-4080-11D1-A3AC-00C04FB950DC}';
  166.   IID_IADsReplicaPointer: TGUID = '{F60FB803-4080-11D1-A3AC-00C04FB950DC}';
  167.   CLASS_ReplicaPointer: TGUID = '{F5D1BADF-4080-11D1-A3AC-00C04FB950DC}';
  168.   IID_IADsAcl: TGUID = '{8452D3AB-0869-11D1-A377-00C04FB950DC}';
  169.   CLASS_Acl: TGUID = '{7AF1EFB6-0869-11D1-A377-00C04FB950DC}';
  170.   IID_IADsTimestamp: TGUID = '{B2F5A901-4080-11D1-A3AC-00C04FB950DC}';
  171.   CLASS_Timestamp: TGUID = '{B2BED2EB-4080-11D1-A3AC-00C04FB950DC}';
  172.   IID_IADsPostalAddress: TGUID = '{7ADECF29-4680-11D1-A3B4-00C04FB950DC}';
  173.   CLASS_PostalAddress: TGUID = '{0A75AFCD-4680-11D1-A3B4-00C04FB950DC}';
  174.   IID_IADsBackLink: TGUID = '{FD1302BD-4080-11D1-A3AC-00C04FB950DC}';
  175.   CLASS_BackLink: TGUID = '{FCBF906F-4080-11D1-A3AC-00C04FB950DC}';
  176.   IID_IADsTypedName: TGUID = '{B371A349-4080-11D1-A3AC-00C04FB950DC}';
  177.   CLASS_TypedName: TGUID = '{B33143CB-4080-11D1-A3AC-00C04FB950DC}';
  178.   IID_IADsHold: TGUID = '{B3EB3B37-4080-11D1-A3AC-00C04FB950DC}';
  179.   CLASS_Hold: TGUID = '{B3AD3E13-4080-11D1-A3AC-00C04FB950DC}';
  180.   IID_IADsObjectOptions: TGUID = '{46F14FDA-232B-11D1-A808-00C04FD8D5A8}';
  181.   IID_IADsPathname: TGUID = '{D592AED4-F420-11D0-A36E-00C04FB950DC}';
  182.   CLASS_Pathname: TGUID = '{080D0D78-F421-11D0-A36E-00C04FB950DC}';
  183.   IID_IADsADSystemInfo: TGUID = '{5BB11929-AFD1-11D2-9CB9-0000F87A369E}';
  184.   CLASS_ADSystemInfo: TGUID = '{50B6327F-AFD1-11D2-9CB9-0000F87A369E}';
  185.   IID_IADsWinNTSystemInfo: TGUID = '{6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}';
  186.   CLASS_WinNTSystemInfo: TGUID = '{66182EC4-AFD1-11D2-9CB9-0000F87A369E}';
  187.   IID_IADsDNWithBinary: TGUID = '{7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}';
  188.   CLASS_DNWithBinary: TGUID = '{7E99C0A3-F935-11D2-BA96-00C04FB6D0D1}';
  189.   IID_IADsDNWithString: TGUID = '{370DF02E-F934-11D2-BA96-00C04FB6D0D1}';
  190.   CLASS_DNWithString: TGUID = '{334857CC-F934-11D2-BA96-00C04FB6D0D1}';
  191.  
  192.   // *********************************************************************//
  193.   // Declaration of Enumerations defined in Type Library
  194.   // *********************************************************************//
  195.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0001
  196. type
  197.   __MIDL___MIDL_itf_ads_0000_0001 = TOleEnum;
  198. const
  199.   ADSTYPE_INVALID = $00000000;
  200.   ADSTYPE_DN_STRING = $00000001;
  201.   ADSTYPE_CASE_EXACT_STRING = $00000002;
  202.   ADSTYPE_CASE_IGNORE_STRING = $00000003;
  203.   ADSTYPE_PRINTABLE_STRING = $00000004;
  204.   ADSTYPE_NUMERIC_STRING = $00000005;
  205.   ADSTYPE_BOOLEAN = $00000006;
  206.   ADSTYPE_INTEGER = $00000007;
  207.   ADSTYPE_OCTET_STRING = $00000008;
  208.   ADSTYPE_UTC_TIME = $00000009;
  209.   ADSTYPE_LARGE_INTEGER = $0000000A;
  210.   ADSTYPE_PROV_SPECIFIC = $0000000B;
  211.   ADSTYPE_OBJECT_CLASS = $0000000C;
  212.   ADSTYPE_CASEIGNORE_LIST = $0000000D;
  213.   ADSTYPE_OCTET_LIST = $0000000E;
  214.   ADSTYPE_PATH = $0000000F;
  215.   ADSTYPE_POSTALADDRESS = $00000010;
  216.   ADSTYPE_TIMESTAMP = $00000011;
  217.   ADSTYPE_BACKLINK = $00000012;
  218.   ADSTYPE_TYPEDNAME = $00000013;
  219.   ADSTYPE_HOLD = $00000014;
  220.   ADSTYPE_NETADDRESS = $00000015;
  221.   ADSTYPE_REPLICAPOINTER = $00000016;
  222.   ADSTYPE_FAXNUMBER = $00000017;
  223.   ADSTYPE_EMAIL = $00000018;
  224.   ADSTYPE_NT_SECURITY_DESCRIPTOR = $00000019;
  225.   ADSTYPE_UNKNOWN = $0000001A;
  226.   ADSTYPE_DN_WITH_BINARY = $0000001B;
  227.   ADSTYPE_DN_WITH_STRING = $0000001C;
  228.  
  229.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0018
  230. type
  231.   __MIDL___MIDL_itf_ads_0000_0018 = TOleEnum;
  232. const
  233.   ADS_SECURE_AUTHENTICATION = $00000001;
  234.   ADS_USE_ENCRYPTION = $00000002;
  235.   ADS_USE_SSL = $00000002;
  236.   ADS_READONLY_SERVER = $00000004;
  237.   ADS_PROMPT_CREDENTIALS = $00000008;
  238.   ADS_NO_AUTHENTICATION = $00000010;
  239.   ADS_FAST_BIND = $00000020;
  240.   ADS_USE_SIGNING = $00000040;
  241.   ADS_USE_SEALING = $00000080;
  242.   ADS_USE_DELEGATION = $00000100;
  243.   ADS_AUTH_RESERVED = $80000000;
  244.  
  245.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0019
  246. type
  247.   __MIDL___MIDL_itf_ads_0000_0019 = TOleEnum;
  248. const
  249.   ADS_STATUS_S_OK = $00000000;
  250.   ADS_STATUS_INVALID_SEARCHPREF = $00000001;
  251.   ADS_STATUS_INVALID_SEARCHPREFVALUE = $00000002;
  252.  
  253.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0020
  254. type
  255.   __MIDL___MIDL_itf_ads_0000_0020 = TOleEnum;
  256. const
  257.   ADS_DEREF_NEVER = $00000000;
  258.   ADS_DEREF_SEARCHING = $00000001;
  259.   ADS_DEREF_FINDING = $00000002;
  260.   ADS_DEREF_ALWAYS = $00000003;
  261.  
  262.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0021
  263. type
  264.   __MIDL___MIDL_itf_ads_0000_0021 = TOleEnum;
  265. const
  266.   ADS_SCOPE_BASE = $00000000;
  267.   ADS_SCOPE_ONELEVEL = $00000001;
  268.   ADS_SCOPE_SUBTREE = $00000002;
  269.  
  270.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0022
  271. type
  272.   __MIDL___MIDL_itf_ads_0000_0022 = TOleEnum;
  273. const
  274.   ADSIPROP_ASYNCHRONOUS = $00000000;
  275.   ADSIPROP_DEREF_ALIASES = $00000001;
  276.   ADSIPROP_SIZE_LIMIT = $00000002;
  277.   ADSIPROP_TIME_LIMIT = $00000003;
  278.   ADSIPROP_ATTRIBTYPES_ONLY = $00000004;
  279.   ADSIPROP_SEARCH_SCOPE = $00000005;
  280.   ADSIPROP_TIMEOUT = $00000006;
  281.   ADSIPROP_PAGESIZE = $00000007;
  282.   ADSIPROP_PAGED_TIME_LIMIT = $00000008;
  283.   ADSIPROP_CHASE_REFERRALS = $00000009;
  284.   ADSIPROP_SORT_ON = $0000000A;
  285.   ADSIPROP_CACHE_RESULTS = $0000000B;
  286.   ADSIPROP_ADSIFLAG = $0000000C;
  287.  
  288.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0023
  289. type
  290.   __MIDL___MIDL_itf_ads_0000_0023 = TOleEnum;
  291. const
  292.   ADSI_DIALECT_LDAP = $00000000;
  293.   ADSI_DIALECT_SQL = $00000001;
  294.  
  295.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0024
  296. type
  297.   __MIDL___MIDL_itf_ads_0000_0024 = TOleEnum;
  298. const
  299.   ADS_CHASE_REFERRALS_NEVER = $00000000;
  300.   ADS_CHASE_REFERRALS_SUBORDINATE = $00000020;
  301.   ADS_CHASE_REFERRALS_EXTERNAL = $00000040;
  302.   ADS_CHASE_REFERRALS_ALWAYS = $00000060;
  303.  
  304.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0025
  305. type
  306.   __MIDL___MIDL_itf_ads_0000_0025 = TOleEnum;
  307. const
  308.   ADS_SEARCHPREF_ASYNCHRONOUS = $00000000;
  309.   ADS_SEARCHPREF_DEREF_ALIASES = $00000001;
  310.   ADS_SEARCHPREF_SIZE_LIMIT = $00000002;
  311.   ADS_SEARCHPREF_TIME_LIMIT = $00000003;
  312.   ADS_SEARCHPREF_ATTRIBTYPES_ONLY = $00000004;
  313.   ADS_SEARCHPREF_SEARCH_SCOPE = $00000005;
  314.   ADS_SEARCHPREF_TIMEOUT = $00000006;
  315.   ADS_SEARCHPREF_PAGESIZE = $00000007;
  316.   ADS_SEARCHPREF_PAGED_TIME_LIMIT = $00000008;
  317.   ADS_SEARCHPREF_CHASE_REFERRALS = $00000009;
  318.   ADS_SEARCHPREF_SORT_ON = $0000000A;
  319.   ADS_SEARCHPREF_CACHE_RESULTS = $0000000B;
  320.   ADS_SEARCHPREF_DIRSYNC = $0000000C;
  321.   ADS_SEARCHPREF_TOMBSTONE = $0000000D;
  322.  
  323.   // Constants for enum __MIDL___MIDL_itf_ads_0000_0026
  324. type
  325.   __MIDL___MIDL_itf_ads_0000_0026 = TOleEnum;
  326. const
  327.   ADS_PROPERTY_CLEAR = $00000001;
  328.   ADS_PROPERTY_UPDATE = $00000002;
  329.   ADS_PROPERTY_APPEND = $00000003;
  330.   ADS_PROPERTY_DELETE = $00000004;
  331.  
  332.   // Constants for enum tagTYPEKIND
  333. type
  334.   tagTYPEKIND = TOleEnum;
  335. const
  336.   TKIND_ENUM = $00000000;
  337.   TKIND_RECORD = $00000001;
  338.   TKIND_MODULE = $00000002;
  339.   TKIND_INTERFACE = $00000003;
  340.   TKIND_DISPATCH = $00000004;
  341.   TKIND_COCLASS = $00000005;
  342.   TKIND_ALIAS = $00000006;
  343.   TKIND_UNION = $00000007;
  344.   TKIND_MAX = $00000008;
  345.  
  346.   // Constants for enum tagDESCKIND
  347. type
  348.   tagDESCKIND = TOleEnum;
  349. const
  350.   DESCKIND_NONE = $00000000;
  351.   DESCKIND_FUNCDESC = $00000001;
  352.   DESCKIND_VARDESC = $00000002;
  353.   DESCKIND_TYPECOMP = $00000003;
  354.   DESCKIND_IMPLICITAPPOBJ = $00000004;
  355.   DESCKIND_MAX = $00000005;
  356.  
  357.   // Constants for enum tagFUNCKIND
  358. type
  359.   tagFUNCKIND = TOleEnum;
  360. const
  361.   FUNC_VIRTUAL = $00000000;
  362.   FUNC_PUREVIRTUAL = $00000001;
  363.   FUNC_NONVIRTUAL = $00000002;
  364.   FUNC_STATIC = $00000003;
  365.   FUNC_DISPATCH = $00000004;
  366.  
  367.   // Constants for enum tagINVOKEKIND
  368. type
  369.   tagINVOKEKIND = TOleEnum;
  370. const
  371.   INVOKE_FUNC = $00000001;
  372.   INVOKE_PROPERTYGET = $00000002;
  373.   INVOKE_PROPERTYPUT = $00000004;
  374.   INVOKE_PROPERTYPUTREF = $00000008;
  375.  
  376.   // Constants for enum tagCALLCONV
  377. type
  378.   tagCALLCONV = TOleEnum;
  379. const
  380.   CC_FASTCALL = $00000000;
  381.   CC_CDECL = $00000001;
  382.   CC_MSCPASCAL = $00000002;
  383.   CC_PASCAL = $00000002;
  384.   CC_MACPASCAL = $00000003;
  385.   CC_STDCALL = $00000004;
  386.   CC_FPFASTCALL = $00000005;
  387.   CC_SYSCALL = $00000006;
  388.   CC_MPWCDECL = $00000007;
  389.   CC_MPWPASCAL = $00000008;
  390.   CC_MAX = $00000009;
  391.  
  392.   // Constants for enum tagVARKIND
  393. type
  394.   tagVARKIND = TOleEnum;
  395. const
  396.   VAR_PERINSTANCE = $00000000;
  397.   VAR_STATIC = $00000001;
  398.   VAR_CONST = $00000002;
  399.   VAR_DISPATCH = $00000003;
  400.  
  401.   // Constants for enum tagSYSKIND
  402. type
  403.   tagSYSKIND = TOleEnum;
  404. const
  405.   SYS_WIN16 = $00000000;
  406.   SYS_WIN32 = $00000001;
  407.   SYS_MAC = $00000002;
  408.   SYS_WIN64 = $00000001;
  409.  
  410.   // Constants for enum __MIDL___MIDL_itf_ads_0120_0001
  411. type
  412.   __MIDL___MIDL_itf_ads_0120_0001 = TOleEnum;
  413. const
  414.   ADS_SYSTEMFLAG_DISALLOW_DELETE = $80000000;
  415.   ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = $40000000;
  416.   ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = $20000000;
  417.   ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = $10000000;
  418.   ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = $08000000;
  419.   ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = $04000000;
  420.   ADS_SYSTEMFLAG_CR_NTDS_NC = $00000001;
  421.   ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = $00000002;
  422.   ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = $00000001;
  423.   ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = $00000004;
  424.  
  425.   // Constants for enum __MIDL___MIDL_itf_ads_0126_0001
  426. type
  427.   __MIDL___MIDL_itf_ads_0126_0001 = TOleEnum;
  428. const
  429.   ADS_GROUP_TYPE_GLOBAL_GROUP = $00000002;
  430.   ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = $00000004;
  431.   ADS_GROUP_TYPE_LOCAL_GROUP = $00000004;
  432.   ADS_GROUP_TYPE_UNIVERSAL_GROUP = $00000008;
  433.   ADS_GROUP_TYPE_SECURITY_ENABLED = $80000000;
  434.  
  435.   // Constants for enum ADS_USER_FLAG
  436. type
  437.   ADS_USER_FLAG = TOleEnum;
  438. const
  439.   ADS_UF_SCRIPT = $00000001;
  440.   ADS_UF_ACCOUNTDISABLE = $00000002;
  441.   ADS_UF_HOMEDIR_REQUIRED = $00000008;
  442.   ADS_UF_LOCKOUT = $00000010;
  443.   ADS_UF_PASSWD_NOTREQD = $00000020;
  444.   ADS_UF_PASSWD_CANT_CHANGE = $00000040;
  445.   ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = $00000080;
  446.   ADS_UF_TEMP_DUPLICATE_ACCOUNT = $00000100;
  447.   ADS_UF_NORMAL_ACCOUNT = $00000200;
  448.   ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = $00000800;
  449.   ADS_UF_WORKSTATION_TRUST_ACCOUNT = $00001000;
  450.   ADS_UF_SERVER_TRUST_ACCOUNT = $00002000;
  451.   ADS_UF_DONT_EXPIRE_PASSWD = $00010000;
  452.   ADS_UF_MNS_LOGON_ACCOUNT = $00020000;
  453.   ADS_UF_SMARTCARD_REQUIRED = $00040000;
  454.   ADS_UF_TRUSTED_FOR_DELEGATION = $00080000;
  455.   ADS_UF_NOT_DELEGATED = $00100000;
  456.  
  457.   // Constants for enum __MIDL___MIDL_itf_ads_0148_0001
  458. type
  459.   __MIDL___MIDL_itf_ads_0148_0001 = TOleEnum;
  460. const
  461.   ADS_RIGHT_DELETE = $00010000;
  462.   ADS_RIGHT_READ_CONTROL = $00020000;
  463.   ADS_RIGHT_WRITE_DAC = $00040000;
  464.   ADS_RIGHT_WRITE_OWNER = $00080000;
  465.   ADS_RIGHT_SYNCHRONIZE = $00100000;
  466.   ADS_RIGHT_ACCESS_SYSTEM_SECURITY = $01000000;
  467.   ADS_RIGHT_GENERIC_READ = $80000000;
  468.   ADS_RIGHT_GENERIC_WRITE = $40000000;
  469.   ADS_RIGHT_GENERIC_EXECUTE = $20000000;
  470.   ADS_RIGHT_GENERIC_ALL = $10000000;
  471.   ADS_RIGHT_DS_CREATE_CHILD = $00000001;
  472.   ADS_RIGHT_DS_DELETE_CHILD = $00000002;
  473.   ADS_RIGHT_ACTRL_DS_LIST = $00000004;
  474.   ADS_RIGHT_DS_SELF = $00000008;
  475.   ADS_RIGHT_DS_READ_PROP = $00000010;
  476.   ADS_RIGHT_DS_WRITE_PROP = $00000020;
  477.   ADS_RIGHT_DS_DELETE_TREE = $00000040;
  478.   ADS_RIGHT_DS_LIST_OBJECT = $00000080;
  479.   ADS_RIGHT_DS_CONTROL_ACCESS = $00000100;
  480.  
  481.   // Constants for enum __MIDL___MIDL_itf_ads_0148_0002
  482. type
  483.   __MIDL___MIDL_itf_ads_0148_0002 = TOleEnum;
  484. const
  485.   ADS_ACETYPE_ACCESS_ALLOWED = $00000000;
  486.   ADS_ACETYPE_ACCESS_DENIED = $00000001;
  487.   ADS_ACETYPE_SYSTEM_AUDIT = $00000002;
  488.   ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = $00000005;
  489.   ADS_ACETYPE_ACCESS_DENIED_OBJECT = $00000006;
  490.   ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = $00000007;
  491.  
  492.   // Constants for enum __MIDL___MIDL_itf_ads_0148_0003
  493. type
  494.   __MIDL___MIDL_itf_ads_0148_0003 = TOleEnum;
  495. const
  496.   ADS_ACEFLAG_INHERIT_ACE = $00000002;
  497.   ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = $00000004;
  498.   ADS_ACEFLAG_INHERIT_ONLY_ACE = $00000008;
  499.   ADS_ACEFLAG_INHERITED_ACE = $00000010;
  500.   ADS_ACEFLAG_VALID_INHERIT_FLAGS = $0000001F;
  501.   ADS_ACEFLAG_SUCCESSFUL_ACCESS = $00000040;
  502.   ADS_ACEFLAG_FAILED_ACCESS = $00000080;
  503.  
  504.   // Constants for enum __MIDL___MIDL_itf_ads_0148_0004
  505. type
  506.   __MIDL___MIDL_itf_ads_0148_0004 = TOleEnum;
  507. const
  508.   ADS_FLAG_OBJECT_TYPE_PRESENT = $00000001;
  509.   ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = $00000002;
  510.  
  511.   // Constants for enum __MIDL___MIDL_itf_ads_0148_0005
  512. type
  513.   __MIDL___MIDL_itf_ads_0148_0005 = TOleEnum;
  514. const
  515.   ADS_SD_CONTROL_SE_OWNER_DEFAULTED = $00000001;
  516.   ADS_SD_CONTROL_SE_GROUP_DEFAULTED = $00000002;
  517.   ADS_SD_CONTROL_SE_DACL_PRESENT = $00000004;
  518.   ADS_SD_CONTROL_SE_DACL_DEFAULTED = $00000008;
  519.   ADS_SD_CONTROL_SE_SACL_PRESENT = $00000010;
  520.   ADS_SD_CONTROL_SE_SACL_DEFAULTED = $00000020;
  521.   ADS_SD_CONTROL_SE_DACL_AUTO_INHERIT_REQ = $00000100;
  522.   ADS_SD_CONTROL_SE_SACL_AUTO_INHERIT_REQ = $00000200;
  523.   ADS_SD_CONTROL_SE_DACL_AUTO_INHERITED = $00000400;
  524.   ADS_SD_CONTROL_SE_SACL_AUTO_INHERITED = $00000800;
  525.   ADS_SD_CONTROL_SE_DACL_PROTECTED = $00001000;
  526.   ADS_SD_CONTROL_SE_SACL_PROTECTED = $00002000;
  527.   ADS_SD_CONTROL_SE_SELF_RELATIVE = $00008000;
  528.  
  529.   // Constants for enum __MIDL___MIDL_itf_ads_0148_0006
  530. type
  531.   __MIDL___MIDL_itf_ads_0148_0006 = TOleEnum;
  532. const
  533.   ADS_SD_REVISION_DS = $00000004;
  534.  
  535.   // Constants for enum __MIDL___MIDL_itf_ads_0149_0001
  536. type
  537.   __MIDL___MIDL_itf_ads_0149_0001 = TOleEnum;
  538. const
  539.   ADS_NAME_TYPE_1779 = $00000001;
  540.   ADS_NAME_TYPE_CANONICAL = $00000002;
  541.   ADS_NAME_TYPE_NT4 = $00000003;
  542.   ADS_NAME_TYPE_DISPLAY = $00000004;
  543.   ADS_NAME_TYPE_DOMAIN_SIMPLE = $00000005;
  544.   ADS_NAME_TYPE_ENTERPRISE_SIMPLE = $00000006;
  545.   ADS_NAME_TYPE_GUID = $00000007;
  546.   ADS_NAME_TYPE_UNKNOWN = $00000008;
  547.   ADS_NAME_TYPE_USER_PRINCIPAL_NAME = $00000009;
  548.   ADS_NAME_TYPE_CANONICAL_EX = $0000000A;
  549.   ADS_NAME_TYPE_SERVICE_PRINCIPAL_NAME = $0000000B;
  550.   ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME = $0000000C;
  551.  
  552.   // Constants for enum __MIDL___MIDL_itf_ads_0149_0002
  553. type
  554.   __MIDL___MIDL_itf_ads_0149_0002 = TOleEnum;
  555. const
  556.   ADS_NAME_INITTYPE_DOMAIN = $00000001;
  557.   ADS_NAME_INITTYPE_SERVER = $00000002;
  558.   ADS_NAME_INITTYPE_GC = $00000003;
  559.  
  560.   // Constants for enum __MIDL___MIDL_itf_ads_0163_0001
  561. type
  562.   __MIDL___MIDL_itf_ads_0163_0001 = TOleEnum;
  563. const
  564.   ADS_OPTION_SERVERNAME = $00000000;
  565.   ADS_OPTION_REFERRALS = $00000001;
  566.   ADS_OPTION_PAGE_SIZE = $00000002;
  567.   ADS_OPTION_SECURITY_MASK = $00000003;
  568.   ADS_OPTION_MUTUAL_AUTH_STATUS = $00000004;
  569.  
  570.   // Constants for enum __MIDL___MIDL_itf_ads_0163_0002
  571. type
  572.   __MIDL___MIDL_itf_ads_0163_0002 = TOleEnum;
  573. const
  574.   ADS_SECURITY_INFO_OWNER = $00000001;
  575.   ADS_SECURITY_INFO_GROUP = $00000002;
  576.   ADS_SECURITY_INFO_DACL = $00000004;
  577.   ADS_SECURITY_INFO_SACL = $00000008;
  578.  
  579.   // Constants for enum __MIDL___MIDL_itf_ads_0164_0001
  580. type
  581.   __MIDL___MIDL_itf_ads_0164_0001 = TOleEnum;
  582. const
  583.   ADS_SETTYPE_FULL = $00000001;
  584.   ADS_SETTYPE_PROVIDER = $00000002;
  585.   ADS_SETTYPE_SERVER = $00000003;
  586.   ADS_SETTYPE_DN = $00000004;
  587.  
  588.   // Constants for enum __MIDL___MIDL_itf_ads_0164_0002
  589. type
  590.   __MIDL___MIDL_itf_ads_0164_0002 = TOleEnum;
  591. const
  592.   ADS_FORMAT_WINDOWS = $00000001;
  593.   ADS_FORMAT_WINDOWS_NO_SERVER = $00000002;
  594.   ADS_FORMAT_WINDOWS_DN = $00000003;
  595.   ADS_FORMAT_WINDOWS_PARENT = $00000004;
  596.   ADS_FORMAT_X500 = $00000005;
  597.   ADS_FORMAT_X500_NO_SERVER = $00000006;
  598.   ADS_FORMAT_X500_DN = $00000007;
  599.   ADS_FORMAT_X500_PARENT = $00000008;
  600.   ADS_FORMAT_SERVER = $00000009;
  601.   ADS_FORMAT_PROVIDER = $0000000A;
  602.   ADS_FORMAT_LEAF = $0000000B;
  603.  
  604.   // Constants for enum __MIDL___MIDL_itf_ads_0164_0003
  605. type
  606.   __MIDL___MIDL_itf_ads_0164_0003 = TOleEnum;
  607. const
  608.   ADS_DISPLAY_FULL = $00000001;
  609.   ADS_DISPLAY_VALUE_ONLY = $00000002;
  610.  
  611.   // Constants for enum __MIDL___MIDL_itf_ads_0164_0004
  612. type
  613.   __MIDL___MIDL_itf_ads_0164_0004 = TOleEnum;
  614. const
  615.   ADS_ESCAPEDMODE_DEFAULT = $00000001;
  616.   ADS_ESCAPEDMODE_ON = $00000002;
  617.   ADS_ESCAPEDMODE_OFF = $00000003;
  618.   ADS_ESCAPEDMODE_OFF_EX = $00000004;
  619.  
  620. type
  621.  
  622.   // *********************************************************************//
  623.   // Forward declaration of types defined in TypeLibrary
  624.   // *********************************************************************//
  625.   IADs = interface;
  626.   IADsDisp = dispinterface;
  627.   IADsContainer = interface;
  628.   IADsContainerDisp = dispinterface;
  629.   IADsCollection = interface;
  630.   IADsCollectionDisp = dispinterface;
  631.   IADsMembers = interface;
  632.   IADsMembersDisp = dispinterface;
  633.   IADsPropertyList = interface;
  634.   IADsPropertyListDisp = dispinterface;
  635.   IADsPropertyEntry = interface;
  636.   IADsPropertyEntryDisp = dispinterface;
  637.   IADsPropertyValue = interface;
  638.   IADsPropertyValueDisp = dispinterface;
  639.   IADsPropertyValue2 = interface;
  640.   IADsPropertyValue2Disp = dispinterface;
  641.   IPrivateDispatch = interface;
  642.   ITypeInfo = interface;
  643.   ITypeComp = interface;
  644.   ITypeLib = interface;
  645.   IPrivateUnknown = interface;
  646.   IADsExtension = interface;
  647.   IADsDeleteOps = interface;
  648.   IADsDeleteOpsDisp = dispinterface;
  649.   IADsNamespaces = interface;
  650.   IADsNamespacesDisp = dispinterface;
  651.   IADsClass = interface;
  652.   IADsClassDisp = dispinterface;
  653.   IADsProperty = interface;
  654.   IADsPropertyDisp = dispinterface;
  655.   IADsSyntax = interface;
  656.   IADsSyntaxDisp = dispinterface;
  657.   IADsLocality = interface;
  658.   IADsLocalityDisp = dispinterface;
  659.   IADsO = interface;
  660.   IADsODisp = dispinterface;
  661.   IADsOU = interface;
  662.   IADsOUDisp = dispinterface;
  663.   IADsDomain = interface;
  664.   IADsDomainDisp = dispinterface;
  665.   IADsComputer = interface;
  666.   IADsComputerDisp = dispinterface;
  667.   IADsComputerOperations = interface;
  668.   IADsComputerOperationsDisp = dispinterface;
  669.   IADsGroup = interface;
  670.   IADsGroupDisp = dispinterface;
  671.   IADsUser = interface;
  672.   IADsUserDisp = dispinterface;
  673.   IADsPrintQueue = interface;
  674.   IADsPrintQueueDisp = dispinterface;
  675.   IADsPrintQueueOperations = interface;
  676.   IADsPrintQueueOperationsDisp = dispinterface;
  677.   IADsPrintJob = interface;
  678.   IADsPrintJobDisp = dispinterface;
  679.   IADsPrintJobOperations = interface;
  680.   IADsPrintJobOperationsDisp = dispinterface;
  681.   IADsService = interface;
  682.   IADsServiceDisp = dispinterface;
  683.   IADsServiceOperations = interface;
  684.   IADsServiceOperationsDisp = dispinterface;
  685.   IADsFileService = interface;
  686.   IADsFileServiceDisp = dispinterface;
  687.   IADsFileServiceOperations = interface;
  688.   IADsFileServiceOperationsDisp = dispinterface;
  689.   IADsFileShare = interface;
  690.   IADsFileShareDisp = dispinterface;
  691.   IADsSession = interface;
  692.   IADsSessionDisp = dispinterface;
  693.   IADsResource = interface;
  694.   IADsResourceDisp = dispinterface;
  695.   IADsOpenDSObject = interface;
  696.   IADsOpenDSObjectDisp = dispinterface;
  697.   IDirectoryObject = interface;
  698.   IDirectorySearch = interface;
  699.   IDirectorySchemaMgmt = interface;
  700.   IADsAggregatee = interface;
  701.   IADsAggregator = interface;
  702.   IADsAccessControlEntry = interface;
  703.   IADsAccessControlEntryDisp = dispinterface;
  704.   IADsAccessControlList = interface;
  705.   IADsAccessControlListDisp = dispinterface;
  706.   IADsSecurityDescriptor = interface;
  707.   IADsSecurityDescriptorDisp = dispinterface;
  708.   IADsLargeInteger = interface;
  709.   IADsLargeIntegerDisp = dispinterface;
  710.   IADsNameTranslate = interface;
  711.   IADsNameTranslateDisp = dispinterface;
  712.   IADsCaseIgnoreList = interface;
  713.   IADsCaseIgnoreListDisp = dispinterface;
  714.   IADsFaxNumber = interface;
  715.   IADsFaxNumberDisp = dispinterface;
  716.   IADsNetAddress = interface;
  717.   IADsNetAddressDisp = dispinterface;
  718.   IADsOctetList = interface;
  719.   IADsOctetListDisp = dispinterface;
  720.   IADsEmail = interface;
  721.   IADsEmailDisp = dispinterface;
  722.   IADsPath = interface;
  723.   IADsPathDisp = dispinterface;
  724.   IADsReplicaPointer = interface;
  725.   IADsReplicaPointerDisp = dispinterface;
  726.   IADsAcl = interface;
  727.   IADsAclDisp = dispinterface;
  728.   IADsTimestamp = interface;
  729.   IADsTimestampDisp = dispinterface;
  730.   IADsPostalAddress = interface;
  731.   IADsPostalAddressDisp = dispinterface;
  732.   IADsBackLink = interface;
  733.   IADsBackLinkDisp = dispinterface;
  734.   IADsTypedName = interface;
  735.   IADsTypedNameDisp = dispinterface;
  736.   IADsHold = interface;
  737.   IADsHoldDisp = dispinterface;
  738.   IADsObjectOptions = interface;
  739.   IADsObjectOptionsDisp = dispinterface;
  740.   IADsPathname = interface;
  741.   IADsPathnameDisp = dispinterface;
  742.   IADsADSystemInfo = interface;
  743.   IADsADSystemInfoDisp = dispinterface;
  744.   IADsWinNTSystemInfo = interface;
  745.   IADsWinNTSystemInfoDisp = dispinterface;
  746.   IADsDNWithBinary = interface;
  747.   IADsDNWithBinaryDisp = dispinterface;
  748.   IADsDNWithString = interface;
  749.   IADsDNWithStringDisp = dispinterface;
  750.  
  751.   // *********************************************************************//
  752.   // Declaration of CoClasses defined in Type Library
  753.   // (NOTE: Here we map each CoClass to its Default Interface)
  754.   // *********************************************************************//
  755.   PropertyEntry = IADsPropertyEntry;
  756.   PropertyValue = IADsPropertyValue;
  757.   AccessControlEntry = IADsAccessControlEntry;
  758.   AccessControlList = IADsAccessControlList;
  759.   SecurityDescriptor = IADsSecurityDescriptor;
  760.   LargeInteger = IADsLargeInteger;
  761.   NameTranslate = IADsNameTranslate;
  762.   CaseIgnoreList = IADsCaseIgnoreList;
  763.   FaxNumber = IADsFaxNumber;
  764.   NetAddress = IADsNetAddress;
  765.   OctetList = IADsOctetList;
  766.   Email = IADsEmail;
  767.   Path = IADsPath;
  768.   ReplicaPointer = IADsReplicaPointer;
  769.   Acl = IADsAcl;
  770.   Timestamp = IADsTimestamp;
  771.   PostalAddress = IADsPostalAddress;
  772.   BackLink = IADsBackLink;
  773.   TypedName = IADsTypedName;
  774.   Hold = IADsHold;
  775.   Pathname = IADsPathname;
  776.   ADSystemInfo = IADsADSystemInfo;
  777.   WinNTSystemInfo = IADsWinNTSystemInfo;
  778.   DNWithBinary = IADsDNWithBinary;
  779.   DNWithString = IADsDNWithString;
  780.  
  781.   // *********************************************************************//
  782.   // Declaration of structures, unions and aliases.
  783.   // *********************************************************************//
  784.   PUserType1 = ^TGUID; {*}
  785.   PUserType2 = ^TGUID; {*}
  786.   PPWideChar1 = ^PWideChar; {*}
  787.   PUserType8 = ^TGUID; {*}
  788.   PUserType9 = ^TGUID; {*}
  789.   PUserType3 = ^TGUID; {*}
  790.   PWord1 = ^Word; {*}
  791.   PPWord1 = ^PWord1; {*}
  792.   PUserType4 = ^TGUID; {*}
  793.   PUserType5 = ^TGUID; {*}
  794.   PUserType6 = ^TGUID; {*}
  795.   PUserType7 = ^TGUID; {*}
  796.   PUserType10 = ^TGUID; {*}
  797.   PUserType11 = ^TGUID; {*}
  798.   PUserType12 = ^TGUID; {*}
  799.   PUserType13 = ^TGUID; {*}
  800.   PUserType14 = ^TGUID; {*}
  801.   PUserType15 = ^TGUID; {*}
  802.   PPUserType1 = ^PUserType15; {*}
  803.   PUINT1 = ^LongWord; {*}
  804.   PUserType16 = ^TGUID; {*}
  805.   PPUserType2 = ^PUserType16; {*}
  806.  
  807.   ADSTYPEENUM = __MIDL___MIDL_itf_ads_0000_0001;
  808.  
  809.   __MIDL___MIDL_itf_ads_0000_0002 = packed record
  810.     dwLength: LongWord;
  811.     lpValue: ^Byte;
  812.   end;
  813.  
  814.   ADS_OCTET_STRING = TGUID;
  815.  
  816.   __MIDL___MIDL_itf_ads_0000_0003 = packed record
  817.     dwLength: LongWord;
  818.     lpValue: ^Byte;
  819.   end;
  820.  
  821.   ADS_NT_SECURITY_DESCRIPTOR = TGUID;
  822.  
  823.   _SYSTEMTIME = packed record
  824.     wYear: Word;
  825.     wMonth: Word;
  826.     wDayOfWeek: Word;
  827.     wDay: Word;
  828.     wHour: Word;
  829.     wMinute: Word;
  830.     wSecond: Word;
  831.     wMilliseconds: Word;
  832.   end;
  833.  
  834.   _LARGE_INTEGER = packed record
  835.     QuadPart: Int64;
  836.   end;
  837.  
  838.   __MIDL___MIDL_itf_ads_0000_0004 = packed record
  839.     dwLength: LongWord;
  840.     lpValue: ^Byte;
  841.   end;
  842.  
  843.   ADS_PROV_SPECIFIC = TGUID;
  844.  
  845.   __MIDL___MIDL_itf_ads_0000_0005 = packed record
  846.     Type_: LongWord;
  847.     VolumeName: PWideChar;
  848.     Path: PWideChar;
  849.   end;
  850.  
  851.   ADS_PATH = TGUID;
  852.  
  853.   __MIDL___MIDL_itf_ads_0000_0006 = packed record
  854.     PostalAddress: array[0..5] of PWideChar;
  855.   end;
  856.  
  857.   ADS_POSTALADDRESS = TGUID;
  858.  
  859.   __MIDL___MIDL_itf_ads_0000_0007 = packed record
  860.     WholeSeconds: LongWord;
  861.     EventID: LongWord;
  862.   end;
  863.  
  864.   ADS_TIMESTAMP = TGUID;
  865.  
  866.   __MIDL___MIDL_itf_ads_0000_0008 = packed record
  867.     RemoteID: LongWord;
  868.     ObjectName: PWideChar;
  869.   end;
  870.  
  871.   ADS_BACKLINK = TGUID;
  872.  
  873.   __MIDL___MIDL_itf_ads_0000_0009 = packed record
  874.     ObjectName: PWideChar;
  875.     Level: LongWord;
  876.     Interval: LongWord;
  877.   end;
  878.  
  879.   ADS_TYPEDNAME = TGUID;
  880.  
  881.   __MIDL___MIDL_itf_ads_0000_0010 = packed record
  882.     ObjectName: PWideChar;
  883.     Amount: LongWord;
  884.   end;
  885.  
  886.   ADS_HOLD = TGUID;
  887.  
  888.   __MIDL___MIDL_itf_ads_0000_0011 = packed record
  889.     AddressType: LongWord;
  890.     AddressLength: LongWord;
  891.     Address: ^Byte;
  892.   end;
  893.  
  894.   ADS_NETADDRESS = TGUID;
  895.  
  896.   __MIDL___MIDL_itf_ads_0000_0012 = packed record
  897.     ServerName: PWideChar;
  898.     ReplicaType: LongWord;
  899.     ReplicaNumber: LongWord;
  900.     Count: LongWord;
  901.     ReplicaAddressHints: ^TGUID;
  902.   end;
  903.  
  904.   ADS_REPLICAPOINTER = TGUID;
  905.  
  906.   __MIDL___MIDL_itf_ads_0000_0013 = packed record
  907.     TelephoneNumber: PWideChar;
  908.     NumberOfBits: LongWord;
  909.     Parameters: ^Byte;
  910.   end;
  911.  
  912.   ADS_FAXNUMBER = TGUID;
  913.  
  914.   __MIDL___MIDL_itf_ads_0000_0014 = packed record
  915.     Address: PWideChar;
  916.     Type_: LongWord;
  917.   end;
  918.  
  919.   ADS_EMAIL = TGUID;
  920.  
  921.   __MIDL___MIDL_itf_ads_0000_0015 = packed record
  922.     dwLength: LongWord;
  923.     lpBinaryValue: ^Byte;
  924.     pszDNString: PWideChar;
  925.   end;
  926.  
  927.   ADS_DN_WITH_BINARY = TGUID;
  928.  
  929.   __MIDL___MIDL_itf_ads_0000_0016 = packed record
  930.     pszStringValue: PWideChar;
  931.     pszDNString: PWideChar;
  932.   end;
  933.  
  934.   ADS_DN_WITH_STRING = TGUID;
  935.  
  936.   _ADS_CASEIGNORE_LIST = packed record
  937.     Next: PUserType1;
  938.     String_: PWideChar;
  939.   end;
  940.  
  941.   _ADS_OCTET_LIST = packed record
  942.     Next: PUserType2;
  943.     Length: LongWord;
  944.     Data: ^Byte;
  945.   end;
  946.  
  947.   ADS_UTC_TIME = TDateTime;
  948.   ADS_LARGE_INTEGER = Int64;
  949.   PADS_CASEIGNORE_LIST = ^ADS_CASEIGNORE_LIST;
  950.   ADS_CASEIGNORE_LIST = packed record
  951.     next: PADS_CASEIGNORE_LIST;
  952.     str: PWideChar;
  953.   end;
  954.   PADS_OCTET_LIST = ^ADS_OCTET_LIST;
  955.   ADS_OCTET_LIST = packed record
  956.     next: PADS_OCTET_LIST;
  957.     dwLength: DWORD;
  958.     data: PBYTE;
  959.   end;
  960.   ADS_TYPENAME = packed record
  961.     ObjectName: PWideChar;
  962.     level: DWORD;
  963.     Interval: DWORD;
  964.   end;
  965.  
  966.   __MIDL___MIDL_itf_ads_0000_0017 = record
  967.     case Integer of
  968.       0: (DNString: PWideChar);
  969.       1: (CaseExactString: PWideChar);
  970.       2: (CaseIgnoreString: PWideChar);
  971.       3: (PrintableString: PWideChar);
  972.       4: (NumericString: PWideChar);
  973.       5: (Boolean: LongWord);
  974.       6: (Integer: LongWord);
  975.       7: (OctetString: ADS_OCTET_STRING);
  976.       8: (UTCTime: ADS_UTC_TIME);
  977.       9: (LargeInteger: ADS_LARGE_INTEGER);
  978.       10: (ClassName: PWideChar);
  979.       11: (ProviderSpecific: ADS_PROV_SPECIFIC);
  980.       12: (pCaseIgnoreList: PADS_CASEIGNORE_LIST);
  981.       13: (pOctetList: PADS_OCTET_LIST);
  982.       14: (pPath: ^ADS_PATH);
  983.       15: (pPostalAddress: ^ADS_POSTALADDRESS);
  984.       16: (Timestamp: ADS_TIMESTAMP);
  985.       17: (BackLink: ADS_BACKLINK);
  986.       18: (pTypedName: ^ADS_TYPENAME);
  987.       19: (Hold: ADS_HOLD);
  988.       20: (pNetAddress: ^ADS_NETADDRESS);
  989.       21: (pReplicaPointer: ^ADS_REPLICAPOINTER);
  990.       22: (pFaxNumber: ^ADS_FAXNUMBER);
  991.       23: (Email: ADS_EMAIL);
  992.       24: (SecurityDescriptor: ADS_NT_SECURITY_DESCRIPTOR);
  993.       25: (pDNWithBinary: ^ADS_DN_WITH_BINARY);
  994.       26: (pDNWithString: ^ADS_DN_WITH_STRING);
  995.   end;
  996.  
  997.   ADS_AUTHENTICATION_ENUM = __MIDL___MIDL_itf_ads_0000_0018;
  998.  
  999.   _ads_object_info = packed record
  1000.     pszRDN: PWideChar;
  1001.     pszObjectDN: PWideChar;
  1002.     pszParentDN: PWideChar;
  1003.     pszSchemaDN: PWideChar;
  1004.     pszClassName: PWideChar;
  1005.   end;
  1006.  
  1007.   ADS_STATUSENUM = __MIDL___MIDL_itf_ads_0000_0019;
  1008.   ADS_DEREFENUM = __MIDL___MIDL_itf_ads_0000_0020;
  1009.   ADS_SCOPEENUM = __MIDL___MIDL_itf_ads_0000_0021;
  1010.   ADS_PREFERENCES_ENUM = __MIDL___MIDL_itf_ads_0000_0022;
  1011.   ADSI_DIALECT_ENUM = __MIDL___MIDL_itf_ads_0000_0023;
  1012.   ADS_CHASE_REFERRALS_ENUM = __MIDL___MIDL_itf_ads_0000_0024;
  1013.   ADS_SEARCHPREF_ENUM = __MIDL___MIDL_itf_ads_0000_0025;
  1014.  
  1015.   PADSVALUE = ^_ADSVALUE;
  1016.   _adsvalue = packed record
  1017.     dwType: ADSTYPEENUM;
  1018.     dwReserved: DWORD;
  1019.     __MIDL_0010: __MIDL___MIDL_itf_ads_0000_0017;
  1020.   end;
  1021.  
  1022.   ads_search_column = packed record
  1023.     pszAttrName: PWideChar;
  1024.     dwADsType: ADSTYPEENUM;
  1025.     pADsValues: PADSVALUE;
  1026.     dwNumValues: LongWord;
  1027.     hReserved: Pointer;
  1028.   end;
  1029.  
  1030.   _ads_attr_def = packed record
  1031.     pszAttrName: PWideChar;
  1032.     dwADsType: ADSTYPEENUM;
  1033.     dwMinRange: LongWord;
  1034.     dwMaxRange: LongWord;
  1035.     fMultiValued: Integer;
  1036.   end;
  1037.  
  1038.   _ads_sortkey = packed record
  1039.     pszAttrType: PWideChar;
  1040.     pszReserved: PWideChar;
  1041.     fReverseorder: Shortint;
  1042.   end;
  1043.  
  1044.   ADS_PROPERTY_OPERATION_ENUM = __MIDL___MIDL_itf_ads_0000_0026;
  1045.  
  1046.   __MIDL_IOleAutomationTypes_0005 = record
  1047.     case Integer of
  1048.       0: (lptdesc: PUserType8);
  1049.       1: (lpadesc: PUserType9);
  1050.       2: (hreftype: LongWord);
  1051.   end;
  1052.  
  1053.   tagTYPEDESC = packed record
  1054.     __MIDL_0008: __MIDL_IOleAutomationTypes_0005;
  1055.     vt: Word;
  1056.   end;
  1057.  
  1058.   tagSAFEARRAYBOUND = packed record
  1059.     cElements: LongWord;
  1060.     lLbound: Integer;
  1061.   end;
  1062.  
  1063.   ULONG_PTR = LongWord;
  1064.  
  1065.   tagIDLDESC = packed record
  1066.     dwReserved: ULONG_PTR;
  1067.     wIDLFlags: Word;
  1068.   end;
  1069.  
  1070.   DWORD = LongWord;
  1071.  
  1072.   tagPARAMDESCEX = packed record
  1073.     cBytes: LongWord;
  1074.     varDefaultValue: OleVariant;
  1075.   end;
  1076.  
  1077.   tagPARAMDESC = packed record
  1078.     pparamdescex: ^TGUID;
  1079.     wParamFlags: Word;
  1080.   end;
  1081.  
  1082.   tagELEMDESC = packed record
  1083.     tdesc: TGUID;
  1084.     paramdesc: TGUID;
  1085.   end;
  1086.  
  1087.   tagFUNCDESC = packed record
  1088.     memid: Integer;
  1089.     lprgscode: ^SCODE;
  1090.     lprgelemdescParam: ^TGUID;
  1091.     funckind: tagFUNCKIND;
  1092.     invkind: tagINVOKEKIND;
  1093.     callconv: tagCALLCONV;
  1094.     cParams: Smallint;
  1095.     cParamsOpt: Smallint;
  1096.     oVft: Smallint;
  1097.     cScodes: Smallint;
  1098.     elemdescFunc: TGUID;
  1099.     wFuncFlags: Word;
  1100.   end;
  1101.  
  1102.   __MIDL_IOleAutomationTypes_0006 = record
  1103.     case Integer of
  1104.       0: (oInst: LongWord);
  1105.       1: (lpvarValue: ^OleVariant);
  1106.   end;
  1107.  
  1108.   tagVARDESC = packed record
  1109.     memid: Integer;
  1110.     lpstrSchema: PWideChar;
  1111.     __MIDL_0009: __MIDL_IOleAutomationTypes_0006;
  1112.     elemdescVar: TGUID;
  1113.     wVarFlags: Word;
  1114.     varkind: tagVARKIND;
  1115.   end;
  1116.  
  1117.   tagTLIBATTR = packed record
  1118.     GUID: TGUID;
  1119.     lcid: LongWord;
  1120.     syskind: tagSYSKIND;
  1121.     wMajorVerNum: Word;
  1122.     wMinorVerNum: Word;
  1123.     wLibFlags: Word;
  1124.   end;
  1125.  
  1126.   ADS_SYSTEMFLAG_ENUM = __MIDL___MIDL_itf_ads_0120_0001;
  1127.   ADS_GROUP_TYPE_ENUM = __MIDL___MIDL_itf_ads_0126_0001;
  1128.   ADS_RIGHTS_ENUM = __MIDL___MIDL_itf_ads_0148_0001;
  1129.   ADS_ACETYPE_ENUM = __MIDL___MIDL_itf_ads_0148_0002;
  1130.   ADS_ACEFLAG_ENUM = __MIDL___MIDL_itf_ads_0148_0003;
  1131.   ADS_FLAGTYPE_ENUM = __MIDL___MIDL_itf_ads_0148_0004;
  1132.   ADS_SD_CONTROL_ENUM = __MIDL___MIDL_itf_ads_0148_0005;
  1133.   ADS_SD_REVISION_ENUM = __MIDL___MIDL_itf_ads_0148_0006;
  1134.   ADS_NAME_TYPE_ENUM = __MIDL___MIDL_itf_ads_0149_0001;
  1135.   ADS_NAME_INITTYPE_ENUM = __MIDL___MIDL_itf_ads_0149_0002;
  1136.   ADS_OPTION_ENUM = __MIDL___MIDL_itf_ads_0163_0001;
  1137.   ADS_SECURITY_INFO_ENUM = __MIDL___MIDL_itf_ads_0163_0002;
  1138.   ADS_SETTYPE_ENUM = __MIDL___MIDL_itf_ads_0164_0001;
  1139.   ADS_FORMAT_ENUM = __MIDL___MIDL_itf_ads_0164_0002;
  1140.   ADS_DISPLAY_ENUM = __MIDL___MIDL_itf_ads_0164_0003;
  1141.   ADS_ESCAPE_MODE_ENUM = __MIDL___MIDL_itf_ads_0164_0004;
  1142.  
  1143.   _ads_attr_info = packed record
  1144.     pszAttrName: PWideChar;
  1145.     dwControlCode: LongWord;
  1146.     dwADsType: ADSTYPEENUM;
  1147.     pADsValues: ^TGUID;
  1148.     dwNumValues: LongWord;
  1149.   end;
  1150.  
  1151.   ads_searchpref_info = packed record
  1152.     dwSearchPref: ADS_SEARCHPREF_ENUM;
  1153.     dwPadding1: DWORD;
  1154.     vValue: _adsvalue;
  1155.     dwStatus: ADS_STATUSENUM;
  1156.     dwPadding2: DWORD;
  1157.   end;
  1158.  
  1159.   _ads_class_def = packed record
  1160.     pszClassName: PWideChar;
  1161.     dwMandatoryAttrs: LongWord;
  1162.     ppszMandatoryAttrs: ^PWideChar;
  1163.     optionalAttrs: LongWord;
  1164.     ppszOptionalAttrs: ^PPWideChar1;
  1165.     dwNamingAttrs: LongWord;
  1166.     ppszNamingAttrs: ^PPWideChar1;
  1167.     dwSuperClasses: LongWord;
  1168.     ppszSuperClasses: ^PPWideChar1;
  1169.     fIsContainer: Integer;
  1170.   end;
  1171.  
  1172.   tagTYPEATTR = packed record
  1173.     GUID: TGUID;
  1174.     lcid: LongWord;
  1175.     dwReserved: LongWord;
  1176.     memidConstructor: Integer;
  1177.     memidDestructor: Integer;
  1178.     lpstrSchema: PWideChar;
  1179.     cbSizeInstance: LongWord;
  1180.     typekind: tagTYPEKIND;
  1181.     cFuncs: Word;
  1182.     cVars: Word;
  1183.     cImplTypes: Word;
  1184.     cbSizeVft: Word;
  1185.     cbAlignment: Word;
  1186.     wTypeFlags: Word;
  1187.     wMajorVerNum: Word;
  1188.     wMinorVerNum: Word;
  1189.     tdescAlias: TGUID;
  1190.     idldescType: TGUID;
  1191.   end;
  1192.  
  1193.   tagARRAYDESC = packed record
  1194.     tdescElem: TGUID;
  1195.     cDims: Word;
  1196.     rgbounds: ^TGUID;
  1197.   end;
  1198.  
  1199.   // *********************************************************************//
  1200.   // Interface: IADs
  1201.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1202.   // GUID:      {FD8256D0-FD15-11CE-ABC4-02608C9E7553}
  1203.   // *********************************************************************//
  1204.   IADs = interface(IDispatch)
  1205.     ['{FD8256D0-FD15-11CE-ABC4-02608C9E7553}']
  1206.     function Get_Name: WideString; safecall;
  1207.     function Get_Class_: WideString; safecall;
  1208.     function Get_GUID: WideString; safecall;
  1209.     function Get_ADsPath: WideString; safecall;
  1210.     function Get_Parent: WideString; safecall;
  1211.     function Get_Schema: WideString; safecall;
  1212.     procedure GetInfo; safecall;
  1213.     procedure SetInfo; safecall;
  1214.     function Get(const bstrName: WideString): OleVariant; safecall;
  1215.     procedure Put(const bstrName: WideString; vProp: OleVariant); safecall;
  1216.     function GetEx(const bstrName: WideString): OleVariant; safecall;
  1217.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); safecall;
  1218.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); safecall;
  1219.     property Name: WideString read Get_Name;
  1220.     property Class_: WideString read Get_Class_;
  1221.     property GUID: WideString read Get_GUID;
  1222.     property ADsPath: WideString read Get_ADsPath;
  1223.     property Parent: WideString read Get_Parent;
  1224.     property Schema: WideString read Get_Schema;
  1225.   end;
  1226.  
  1227.   // *********************************************************************//
  1228.   // DispIntf:  IADsDisp
  1229.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1230.   // GUID:      {FD8256D0-FD15-11CE-ABC4-02608C9E7553}
  1231.   // *********************************************************************//
  1232.   IADsDisp = dispinterface
  1233.     ['{FD8256D0-FD15-11CE-ABC4-02608C9E7553}']
  1234.     property Name: WideString readonly dispid 2;
  1235.     property Class_: WideString readonly dispid 3;
  1236.     property GUID: WideString readonly dispid 4;
  1237.     property ADsPath: WideString readonly dispid 5;
  1238.     property Parent: WideString readonly dispid 6;
  1239.     property Schema: WideString readonly dispid 7;
  1240.     procedure GetInfo; dispid 8;
  1241.     procedure SetInfo; dispid 9;
  1242.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1243.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1244.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1245.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1246.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1247.   end;
  1248.  
  1249.   // *********************************************************************//
  1250.   // Interface: IADsContainer
  1251.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1252.   // GUID:      {001677D0-FD16-11CE-ABC4-02608C9E7553}
  1253.   // *********************************************************************//
  1254.   IADsContainer = interface(IDispatch)
  1255.     ['{001677D0-FD16-11CE-ABC4-02608C9E7553}']
  1256.     function Get_Count: Integer; safecall;
  1257.     function Get__NewEnum: IUnknown; safecall;
  1258.     function Get_Filter: OleVariant; safecall;
  1259.     procedure Set_Filter(pVar: OleVariant); safecall;
  1260.     function Get_Hints: OleVariant; safecall;
  1261.     procedure Set_Hints(pvFilter: OleVariant); safecall;
  1262.     function GetObject(const ClassName: WideString; const RelativeName: WideString): IDispatch; safecall;
  1263.     function Create(const ClassName: WideString; const RelativeName: WideString): IDispatch; safecall;
  1264.     procedure Delete(const bstrClassName: WideString; const bstrRelativeName: WideString); safecall;
  1265.     function CopyHere(const SourceName: WideString; const NewName: WideString): IDispatch; safecall;
  1266.     function MoveHere(const SourceName: WideString; const NewName: WideString): IDispatch; safecall;
  1267.     property Count: Integer read Get_Count;
  1268.     property _NewEnum: IUnknown read Get__NewEnum;
  1269.     property Filter: OleVariant read Get_Filter write Set_Filter;
  1270.     property Hints: OleVariant read Get_Hints write Set_Hints;
  1271.   end;
  1272.  
  1273.   // *********************************************************************//
  1274.   // DispIntf:  IADsContainerDisp
  1275.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1276.   // GUID:      {001677D0-FD16-11CE-ABC4-02608C9E7553}
  1277.   // *********************************************************************//
  1278.   IADsContainerDisp = dispinterface
  1279.     ['{001677D0-FD16-11CE-ABC4-02608C9E7553}']
  1280.     property Count: Integer readonly dispid 2;
  1281.     property _NewEnum: IUnknown readonly dispid - 4;
  1282.     property Filter: OleVariant dispid 3;
  1283.     property Hints: OleVariant dispid 4;
  1284.     function GetObject(const ClassName: WideString; const RelativeName: WideString): IDispatch; dispid 5;
  1285.     function Create(const ClassName: WideString; const RelativeName: WideString): IDispatch; dispid 6;
  1286.     procedure Delete(const bstrClassName: WideString; const bstrRelativeName: WideString); dispid 7;
  1287.     function CopyHere(const SourceName: WideString; const NewName: WideString): IDispatch; dispid 8;
  1288.     function MoveHere(const SourceName: WideString; const NewName: WideString): IDispatch; dispid 9;
  1289.   end;
  1290.  
  1291.   // *********************************************************************//
  1292.   // Interface: IADsCollection
  1293.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1294.   // GUID:      {72B945E0-253B-11CF-A988-00AA006BC149}
  1295.   // *********************************************************************//
  1296.   IADsCollection = interface(IDispatch)
  1297.     ['{72B945E0-253B-11CF-A988-00AA006BC149}']
  1298.     function Get__NewEnum: IUnknown; safecall;
  1299.     procedure Add(const bstrName: WideString; vItem: OleVariant); safecall;
  1300.     procedure Remove(const bstrItemToBeRemoved: WideString); safecall;
  1301.     function GetObject(const bstrName: WideString): OleVariant; safecall;
  1302.     property _NewEnum: IUnknown read Get__NewEnum;
  1303.   end;
  1304.  
  1305.   // *********************************************************************//
  1306.   // DispIntf:  IADsCollectionDisp
  1307.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1308.   // GUID:      {72B945E0-253B-11CF-A988-00AA006BC149}
  1309.   // *********************************************************************//
  1310.   IADsCollectionDisp = dispinterface
  1311.     ['{72B945E0-253B-11CF-A988-00AA006BC149}']
  1312.     property _NewEnum: IUnknown readonly dispid - 4;
  1313.     procedure Add(const bstrName: WideString; vItem: OleVariant); dispid 4;
  1314.     procedure Remove(const bstrItemToBeRemoved: WideString); dispid 5;
  1315.     function GetObject(const bstrName: WideString): OleVariant; dispid 6;
  1316.   end;
  1317.  
  1318.   // *********************************************************************//
  1319.   // Interface: IADsMembers
  1320.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1321.   // GUID:      {451A0030-72EC-11CF-B03B-00AA006E0975}
  1322.   // *********************************************************************//
  1323.   IADsMembers = interface(IDispatch)
  1324.     ['{451A0030-72EC-11CF-B03B-00AA006E0975}']
  1325.     function Get_Count: Integer; safecall;
  1326.     function Get__NewEnum: IUnknown; safecall;
  1327.     function Get_Filter: OleVariant; safecall;
  1328.     procedure Set_Filter(pvFilter: OleVariant); safecall;
  1329.     property Count: Integer read Get_Count;
  1330.     property _NewEnum: IUnknown read Get__NewEnum;
  1331.     property Filter: OleVariant read Get_Filter write Set_Filter;
  1332.   end;
  1333.  
  1334.   // *********************************************************************//
  1335.   // DispIntf:  IADsMembersDisp
  1336.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1337.   // GUID:      {451A0030-72EC-11CF-B03B-00AA006E0975}
  1338.   // *********************************************************************//
  1339.   IADsMembersDisp = dispinterface
  1340.     ['{451A0030-72EC-11CF-B03B-00AA006E0975}']
  1341.     property Count: Integer readonly dispid 2;
  1342.     property _NewEnum: IUnknown readonly dispid - 4;
  1343.     property Filter: OleVariant dispid 3;
  1344.   end;
  1345.  
  1346.   // *********************************************************************//
  1347.   // Interface: IADsPropertyList
  1348.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1349.   // GUID:      {C6F602B6-8F69-11D0-8528-00C04FD8D503}
  1350.   // *********************************************************************//
  1351.   IADsPropertyList = interface(IDispatch)
  1352.     ['{C6F602B6-8F69-11D0-8528-00C04FD8D503}']
  1353.     function Get_PropertyCount: Integer; safecall;
  1354.     function Next: OleVariant; safecall;
  1355.     procedure Skip(cElements: Integer); safecall;
  1356.     procedure Reset; safecall;
  1357.     function Item(varIndex: OleVariant): OleVariant; safecall;
  1358.     function GetPropertyItem(const bstrName: WideString; lnADsType: Integer): OleVariant; safecall;
  1359.     procedure PutPropertyItem(varData: OleVariant); safecall;
  1360.     procedure ResetPropertyItem(varEntry: OleVariant); safecall;
  1361.     procedure PurgePropertyList; safecall;
  1362.     property PropertyCount: Integer read Get_PropertyCount;
  1363.   end;
  1364.  
  1365.   // *********************************************************************//
  1366.   // DispIntf:  IADsPropertyListDisp
  1367.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1368.   // GUID:      {C6F602B6-8F69-11D0-8528-00C04FD8D503}
  1369.   // *********************************************************************//
  1370.   IADsPropertyListDisp = dispinterface
  1371.     ['{C6F602B6-8F69-11D0-8528-00C04FD8D503}']
  1372.     property PropertyCount: Integer readonly dispid 2;
  1373.     function Next: OleVariant; dispid 3;
  1374.     procedure Skip(cElements: Integer); dispid 4;
  1375.     procedure Reset; dispid 5;
  1376.     function Item(varIndex: OleVariant): OleVariant; dispid 0;
  1377.     function GetPropertyItem(const bstrName: WideString; lnADsType: Integer): OleVariant; dispid 6;
  1378.     procedure PutPropertyItem(varData: OleVariant); dispid 7;
  1379.     procedure ResetPropertyItem(varEntry: OleVariant); dispid 8;
  1380.     procedure PurgePropertyList; dispid 9;
  1381.   end;
  1382.  
  1383.   // *********************************************************************//
  1384.   // Interface: IADsPropertyEntry
  1385.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1386.   // GUID:      {05792C8E-941F-11D0-8529-00C04FD8D503}
  1387.   // *********************************************************************//
  1388.   IADsPropertyEntry = interface(IDispatch)
  1389.     ['{05792C8E-941F-11D0-8529-00C04FD8D503}']
  1390.     procedure Clear; safecall;
  1391.     function Get_Name: WideString; safecall;
  1392.     procedure Set_Name(const retval: WideString); safecall;
  1393.     function Get_ADsType: Integer; safecall;
  1394.     procedure Set_ADsType(retval: Integer); safecall;
  1395.     function Get_ControlCode: Integer; safecall;
  1396.     procedure Set_ControlCode(retval: Integer); safecall;
  1397.     function Get_Values: OleVariant; safecall;
  1398.     procedure Set_Values(retval: OleVariant); safecall;
  1399.     property Name: WideString read Get_Name write Set_Name;
  1400.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  1401.     property ControlCode: Integer read Get_ControlCode write Set_ControlCode;
  1402.     property Values: OleVariant read Get_Values write Set_Values;
  1403.   end;
  1404.  
  1405.   // *********************************************************************//
  1406.   // DispIntf:  IADsPropertyEntryDisp
  1407.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1408.   // GUID:      {05792C8E-941F-11D0-8529-00C04FD8D503}
  1409.   // *********************************************************************//
  1410.   IADsPropertyEntryDisp = dispinterface
  1411.     ['{05792C8E-941F-11D0-8529-00C04FD8D503}']
  1412.     procedure Clear; dispid 1;
  1413.     property Name: WideString dispid 2;
  1414.     property ADsType: Integer dispid 3;
  1415.     property ControlCode: Integer dispid 4;
  1416.     property Values: OleVariant dispid 5;
  1417.   end;
  1418.  
  1419.   // *********************************************************************//
  1420.   // Interface: IADsPropertyValue
  1421.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1422.   // GUID:      {79FA9AD0-A97C-11D0-8534-00C04FD8D503}
  1423.   // *********************************************************************//
  1424.   IADsPropertyValue = interface(IDispatch)
  1425.     ['{79FA9AD0-A97C-11D0-8534-00C04FD8D503}']
  1426.     procedure Clear; safecall;
  1427.     function Get_ADsType: Integer; safecall;
  1428.     procedure Set_ADsType(retval: Integer); safecall;
  1429.     function Get_DNString: WideString; safecall;
  1430.     procedure Set_DNString(const retval: WideString); safecall;
  1431.     function Get_CaseExactString: WideString; safecall;
  1432.     procedure Set_CaseExactString(const retval: WideString); safecall;
  1433.     function Get_CaseIgnoreString: WideString; safecall;
  1434.     procedure Set_CaseIgnoreString(const retval: WideString); safecall;
  1435.     function Get_PrintableString: WideString; safecall;
  1436.     procedure Set_PrintableString(const retval: WideString); safecall;
  1437.     function Get_NumericString: WideString; safecall;
  1438.     procedure Set_NumericString(const retval: WideString); safecall;
  1439.     function Get_Boolean: Integer; safecall;
  1440.     procedure Set_Boolean(retval: Integer); safecall;
  1441.     function Get_Integer: Integer; safecall;
  1442.     procedure Set_Integer(retval: Integer); safecall;
  1443.     function Get_OctetString: OleVariant; safecall;
  1444.     procedure Set_OctetString(retval: OleVariant); safecall;
  1445.     function Get_SecurityDescriptor: IDispatch; safecall;
  1446.     procedure Set_SecurityDescriptor(const retval: IDispatch); safecall;
  1447.     function Get_LargeInteger: IDispatch; safecall;
  1448.     procedure Set_LargeInteger(const retval: IDispatch); safecall;
  1449.     function Get_UTCTime: TDateTime; safecall;
  1450.     procedure Set_UTCTime(retval: TDateTime); safecall;
  1451.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  1452.     property DNString: WideString read Get_DNString write Set_DNString;
  1453.     property CaseExactString: WideString read Get_CaseExactString write Set_CaseExactString;
  1454.     property CaseIgnoreString: WideString read Get_CaseIgnoreString write Set_CaseIgnoreString;
  1455.     property PrintableString: WideString read Get_PrintableString write Set_PrintableString;
  1456.     property NumericString: WideString read Get_NumericString write Set_NumericString;
  1457.     property Boolean: Integer read Get_Boolean write Set_Boolean;
  1458.     property Integer: Integer read Get_Integer write Set_Integer;
  1459.     property OctetString: OleVariant read Get_OctetString write Set_OctetString;
  1460.     property SecurityDescriptor: IDispatch read Get_SecurityDescriptor write Set_SecurityDescriptor;
  1461.     property LargeInteger: IDispatch read Get_LargeInteger write Set_LargeInteger;
  1462.     property UTCTime: TDateTime read Get_UTCTime write Set_UTCTime;
  1463.   end;
  1464.  
  1465.   // *********************************************************************//
  1466.   // DispIntf:  IADsPropertyValueDisp
  1467.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1468.   // GUID:      {79FA9AD0-A97C-11D0-8534-00C04FD8D503}
  1469.   // *********************************************************************//
  1470.   IADsPropertyValueDisp = dispinterface
  1471.     ['{79FA9AD0-A97C-11D0-8534-00C04FD8D503}']
  1472.     procedure Clear; dispid 1;
  1473.     property ADsType: Integer dispid 2;
  1474.     property DNString: WideString dispid 3;
  1475.     property CaseExactString: WideString dispid 4;
  1476.     property CaseIgnoreString: WideString dispid 5;
  1477.     property PrintableString: WideString dispid 6;
  1478.     property NumericString: WideString dispid 7;
  1479.     property Boolean: Integer dispid 8;
  1480.     property Integer: Integer dispid 9;
  1481.     property OctetString: OleVariant dispid 10;
  1482.     property SecurityDescriptor: IDispatch dispid 11;
  1483.     property LargeInteger: IDispatch dispid 12;
  1484.     property UTCTime: TDateTime dispid 13;
  1485.   end;
  1486.  
  1487.   // *********************************************************************//
  1488.   // Interface: IADsPropertyValue2
  1489.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1490.   // GUID:      {306E831C-5BC7-11D1-A3B8-00C04FB950DC}
  1491.   // *********************************************************************//
  1492.   IADsPropertyValue2 = interface(IDispatch)
  1493.     ['{306E831C-5BC7-11D1-A3B8-00C04FB950DC}']
  1494.     function GetObjectProperty(var lnADsType: Integer): OleVariant; safecall;
  1495.     procedure PutObjectProperty(lnADsType: Integer; vProp: OleVariant); safecall;
  1496.   end;
  1497.  
  1498.   // *********************************************************************//
  1499.   // DispIntf:  IADsPropertyValue2Disp
  1500.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1501.   // GUID:      {306E831C-5BC7-11D1-A3B8-00C04FB950DC}
  1502.   // *********************************************************************//
  1503.   IADsPropertyValue2Disp = dispinterface
  1504.     ['{306E831C-5BC7-11D1-A3B8-00C04FB950DC}']
  1505.     function GetObjectProperty(var lnADsType: Integer): OleVariant; dispid 1;
  1506.     procedure PutObjectProperty(lnADsType: Integer; vProp: OleVariant); dispid 2;
  1507.   end;
  1508.  
  1509.   // *********************************************************************//
  1510.   // Interface: IPrivateDispatch
  1511.   // Flags:     (0)
  1512.   // GUID:      {86AB4BBE-65F6-11D1-8C13-00C04FD8D503}
  1513.   // *********************************************************************//
  1514.   IPrivateDispatch = interface(IUnknown)
  1515.     ['{86AB4BBE-65F6-11D1-8C13-00C04FD8D503}']
  1516.     function ADSIInitializeDispatchManager(dwExtensionId: Integer): HResult; stdcall;
  1517.     function ADSIGetTypeInfoCount(out pctinfo: SYSUINT): HResult; stdcall;
  1518.     function ADSIGetTypeInfo(itinfo: SYSUINT; lcid: LongWord; out ppTInfo: ITypeInfo): HResult; stdcall;
  1519.     function ADSIGetIDsOfNames(var riid: TGUID; rgszNames: PPWord1; cNames: SYSUINT;
  1520.       lcid: LongWord; out rgdispid: Integer): HResult; stdcall;
  1521.     function ADSIInvoke(dispidMember: Integer; var riid: TGUID; lcid: LongWord; wFlags: Word;
  1522.       var pdispparams: TGUID; out pvarResult: OleVariant; out pexcepinfo: TGUID;
  1523.       out puArgErr: SYSUINT): HResult; stdcall;
  1524.   end;
  1525.  
  1526.   // *********************************************************************//
  1527.   // Interface: ITypeInfo
  1528.   // Flags:     (0)
  1529.   // GUID:      {00020401-0000-0000-C000-000000000046}
  1530.   // *********************************************************************//
  1531.   ITypeInfo = interface(IUnknown)
  1532.     ['{00020401-0000-0000-C000-000000000046}']
  1533.     function RemoteGetTypeAttr(out ppTypeAttr: PUserType5; out pDummy: DWORD): HResult; stdcall;
  1534.     function GetTypeComp(out ppTComp: ITypeComp): HResult; stdcall;
  1535.     function RemoteGetFuncDesc(index: SYSUINT; out ppFuncDesc: PUserType6; out pDummy: DWORD): HResult; stdcall;
  1536.     function RemoteGetVarDesc(index: SYSUINT; out ppVarDesc: PUserType7; out pDummy: DWORD): HResult; stdcall;
  1537.     function RemoteGetNames(memid: Integer; out rgBstrNames: WideString; cMaxNames: SYSUINT;
  1538.       out pcNames: SYSUINT): HResult; stdcall;
  1539.     function GetRefTypeOfImplType(index: SYSUINT; out pRefType: LongWord): HResult; stdcall;
  1540.     function GetImplTypeFlags(index: SYSUINT; out pImplTypeFlags: SYSINT): HResult; stdcall;
  1541.     function LocalGetIDsOfNames: HResult; stdcall;
  1542.     function LocalInvoke: HResult; stdcall;
  1543.     function RemoteGetDocumentation(memid: Integer; refPtrFlags: LongWord;
  1544.       out pBstrName: WideString; out pBstrDocString: WideString;
  1545.       out pdwHelpContext: LongWord; out pBstrHelpFile: WideString): HResult; stdcall;
  1546.     function RemoteGetDllEntry(memid: Integer; invkind: tagINVOKEKIND; refPtrFlags: LongWord;
  1547.       out pBstrDllName: WideString; out pBstrName: WideString;
  1548.       out pwOrdinal: Word): HResult; stdcall;
  1549.     function GetRefTypeInfo(hreftype: LongWord; out ppTInfo: ITypeInfo): HResult; stdcall;
  1550.     function LocalAddressOfMember: HResult; stdcall;
  1551.     function RemoteCreateInstance(var riid: TGUID; out ppvObj: IUnknown): HResult; stdcall;
  1552.     function GetMops(memid: Integer; out pBstrMops: WideString): HResult; stdcall;
  1553.     function RemoteGetContainingTypeLib(out ppTLib: ITypeLib; out pIndex: SYSUINT): HResult; stdcall;
  1554.     function LocalReleaseTypeAttr: HResult; stdcall;
  1555.     function LocalReleaseFuncDesc: HResult; stdcall;
  1556.     function LocalReleaseVarDesc: HResult; stdcall;
  1557.   end;
  1558.  
  1559.   // *********************************************************************//
  1560.   // Interface: ITypeComp
  1561.   // Flags:     (0)
  1562.   // GUID:      {00020403-0000-0000-C000-000000000046}
  1563.   // *********************************************************************//
  1564.   ITypeComp = interface(IUnknown)
  1565.     ['{00020403-0000-0000-C000-000000000046}']
  1566.     function RemoteBind(szName: PWideChar; lHashVal: LongWord; wFlags: Word;
  1567.       out ppTInfo: ITypeInfo; out pDescKind: tagDESCKIND;
  1568.       out ppFuncDesc: PUserType6; out ppVarDesc: PUserType7;
  1569.       out ppTypeComp: ITypeComp; out pDummy: DWORD): HResult; stdcall;
  1570.     function RemoteBindType(szName: PWideChar; lHashVal: LongWord; out ppTInfo: ITypeInfo): HResult; stdcall;
  1571.   end;
  1572.  
  1573.   // *********************************************************************//
  1574.   // Interface: ITypeLib
  1575.   // Flags:     (0)
  1576.   // GUID:      {00020402-0000-0000-C000-000000000046}
  1577.   // *********************************************************************//
  1578.   ITypeLib = interface(IUnknown)
  1579.     ['{00020402-0000-0000-C000-000000000046}']
  1580.     function RemoteGetTypeInfoCount(out pctinfo: SYSUINT): HResult; stdcall;
  1581.     function GetTypeInfo(index: SYSUINT; out ppTInfo: ITypeInfo): HResult; stdcall;
  1582.     function GetTypeInfoType(index: SYSUINT; out pTKind: tagTYPEKIND): HResult; stdcall;
  1583.     function GetTypeInfoOfGuid(var GUID: TGUID; out ppTInfo: ITypeInfo): HResult; stdcall;
  1584.     function RemoteGetLibAttr(out ppTLibAttr: PUserType10; out pDummy: DWORD): HResult; stdcall;
  1585.     function GetTypeComp(out ppTComp: ITypeComp): HResult; stdcall;
  1586.     function RemoteGetDocumentation(index: SYSINT; refPtrFlags: LongWord;
  1587.       out pBstrName: WideString; out pBstrDocString: WideString;
  1588.       out pdwHelpContext: LongWord; out pBstrHelpFile: WideString): HResult; stdcall;
  1589.     function RemoteIsName(szNameBuf: PWideChar; lHashVal: LongWord; out pfName: Integer;
  1590.       out pBstrLibName: WideString): HResult; stdcall;
  1591.     function RemoteFindName(szNameBuf: PWideChar; lHashVal: LongWord; out ppTInfo: ITypeInfo;
  1592.       out rgMemId: Integer; var pcFound: Word; out pBstrLibName: WideString): HResult; stdcall;
  1593.     function LocalReleaseTLibAttr: HResult; stdcall;
  1594.   end;
  1595.  
  1596.   // *********************************************************************//
  1597.   // Interface: IPrivateUnknown
  1598.   // Flags:     (0)
  1599.   // GUID:      {89126BAB-6EAD-11D1-8C18-00C04FD8D503}
  1600.   // *********************************************************************//
  1601.   IPrivateUnknown = interface(IUnknown)
  1602.     ['{89126BAB-6EAD-11D1-8C18-00C04FD8D503}']
  1603.     function ADSIInitializeObject(const lpszUserName: WideString; const lpszPassword: WideString;
  1604.       lnReserved: Integer): HResult; stdcall;
  1605.     function ADSIReleaseObject: HResult; stdcall;
  1606.   end;
  1607.  
  1608.   // *********************************************************************//
  1609.   // Interface: IADsExtension
  1610.   // Flags:     (0)
  1611.   // GUID:      {3D35553C-D2B0-11D1-B17B-0000F87593A0}
  1612.   // *********************************************************************//
  1613.   IADsExtension = interface(IUnknown)
  1614.     ['{3D35553C-D2B0-11D1-B17B-0000F87593A0}']
  1615.     function Operate(dwCode: LongWord; varData1: OleVariant; varData2: OleVariant;
  1616.       varData3: OleVariant): HResult; stdcall;
  1617.     function PrivateGetIDsOfNames(var riid: TGUID; rgszNames: PPWord1; cNames: SYSUINT;
  1618.       lcid: LongWord; out rgdispid: Integer): HResult; stdcall;
  1619.     function PrivateInvoke(dispidMember: Integer; var riid: TGUID; lcid: LongWord; wFlags: Word;
  1620.       var pdispparams: TGUID; out pvarResult: OleVariant;
  1621.       out pexcepinfo: TGUID; out puArgErr: SYSUINT): HResult; stdcall;
  1622.   end;
  1623.  
  1624.   // *********************************************************************//
  1625.   // Interface: IADsDeleteOps
  1626.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1627.   // GUID:      {B2BD0902-8878-11D1-8C21-00C04FD8D503}
  1628.   // *********************************************************************//
  1629.   IADsDeleteOps = interface(IDispatch)
  1630.     ['{B2BD0902-8878-11D1-8C21-00C04FD8D503}']
  1631.     procedure DeleteObject(lnFlags: Integer); safecall;
  1632.   end;
  1633.  
  1634.   // *********************************************************************//
  1635.   // DispIntf:  IADsDeleteOpsDisp
  1636.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1637.   // GUID:      {B2BD0902-8878-11D1-8C21-00C04FD8D503}
  1638.   // *********************************************************************//
  1639.   IADsDeleteOpsDisp = dispinterface
  1640.     ['{B2BD0902-8878-11D1-8C21-00C04FD8D503}']
  1641.     procedure DeleteObject(lnFlags: Integer); dispid 2;
  1642.   end;
  1643.  
  1644.   // *********************************************************************//
  1645.   // Interface: IADsNamespaces
  1646.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1647.   // GUID:      {28B96BA0-B330-11CF-A9AD-00AA006BC149}
  1648.   // *********************************************************************//
  1649.   IADsNamespaces = interface(IADs)
  1650.     ['{28B96BA0-B330-11CF-A9AD-00AA006BC149}']
  1651.     function Get_DefaultContainer: WideString; safecall;
  1652.     procedure Set_DefaultContainer(const retval: WideString); safecall;
  1653.     property DefaultContainer: WideString read Get_DefaultContainer write Set_DefaultContainer;
  1654.   end;
  1655.  
  1656.   // *********************************************************************//
  1657.   // DispIntf:  IADsNamespacesDisp
  1658.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1659.   // GUID:      {28B96BA0-B330-11CF-A9AD-00AA006BC149}
  1660.   // *********************************************************************//
  1661.   IADsNamespacesDisp = dispinterface
  1662.     ['{28B96BA0-B330-11CF-A9AD-00AA006BC149}']
  1663.     property DefaultContainer: WideString dispid 1;
  1664.     property Name: WideString readonly dispid 2;
  1665.     property Class_: WideString readonly dispid 3;
  1666.     property GUID: WideString readonly dispid 4;
  1667.     property ADsPath: WideString readonly dispid 5;
  1668.     property Parent: WideString readonly dispid 6;
  1669.     property Schema: WideString readonly dispid 7;
  1670.     procedure GetInfo; dispid 8;
  1671.     procedure SetInfo; dispid 9;
  1672.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1673.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1674.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1675.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1676.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1677.   end;
  1678.  
  1679.   // *********************************************************************//
  1680.   // Interface: IADsClass
  1681.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1682.   // GUID:      {C8F93DD0-4AE0-11CF-9E73-00AA004A5691}
  1683.   // *********************************************************************//
  1684.   IADsClass = interface(IADs)
  1685.     ['{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}']
  1686.     function Get_PrimaryInterface: WideString; safecall;
  1687.     function Get_CLSID: WideString; safecall;
  1688.     procedure Set_CLSID(const retval: WideString); safecall;
  1689.     function Get_OID: WideString; safecall;
  1690.     procedure Set_OID(const retval: WideString); safecall;
  1691.     function Get_Abstract: WordBool; safecall;
  1692.     procedure Set_Abstract(retval: WordBool); safecall;
  1693.     function Get_Auxiliary: WordBool; safecall;
  1694.     procedure Set_Auxiliary(retval: WordBool); safecall;
  1695.     function Get_MandatoryProperties: OleVariant; safecall;
  1696.     procedure Set_MandatoryProperties(retval: OleVariant); safecall;
  1697.     function Get_OptionalProperties: OleVariant; safecall;
  1698.     procedure Set_OptionalProperties(retval: OleVariant); safecall;
  1699.     function Get_NamingProperties: OleVariant; safecall;
  1700.     procedure Set_NamingProperties(retval: OleVariant); safecall;
  1701.     function Get_DerivedFrom: OleVariant; safecall;
  1702.     procedure Set_DerivedFrom(retval: OleVariant); safecall;
  1703.     function Get_AuxDerivedFrom: OleVariant; safecall;
  1704.     procedure Set_AuxDerivedFrom(retval: OleVariant); safecall;
  1705.     function Get_PossibleSuperiors: OleVariant; safecall;
  1706.     procedure Set_PossibleSuperiors(retval: OleVariant); safecall;
  1707.     function Get_Containment: OleVariant; safecall;
  1708.     procedure Set_Containment(retval: OleVariant); safecall;
  1709.     function Get_Container: WordBool; safecall;
  1710.     procedure Set_Container(retval: WordBool); safecall;
  1711.     function Get_HelpFileName: WideString; safecall;
  1712.     procedure Set_HelpFileName(const retval: WideString); safecall;
  1713.     function Get_HelpFileContext: Integer; safecall;
  1714.     procedure Set_HelpFileContext(retval: Integer); safecall;
  1715.     function Qualifiers: IADsCollection; safecall;
  1716.     property PrimaryInterface: WideString read Get_PrimaryInterface;
  1717.     property CLSID: WideString read Get_CLSID write Set_CLSID;
  1718.     property OID: WideString read Get_OID write Set_OID;
  1719.     property Abstract: WordBool read Get_Abstract write Set_Abstract;
  1720.     property Auxiliary: WordBool read Get_Auxiliary write Set_Auxiliary;
  1721.     property MandatoryProperties: OleVariant read Get_MandatoryProperties write Set_MandatoryProperties;
  1722.     property OptionalProperties: OleVariant read Get_OptionalProperties write Set_OptionalProperties;
  1723.     property NamingProperties: OleVariant read Get_NamingProperties write Set_NamingProperties;
  1724.     property DerivedFrom: OleVariant read Get_DerivedFrom write Set_DerivedFrom;
  1725.     property AuxDerivedFrom: OleVariant read Get_AuxDerivedFrom write Set_AuxDerivedFrom;
  1726.     property PossibleSuperiors: OleVariant read Get_PossibleSuperiors write Set_PossibleSuperiors;
  1727.     property Containment: OleVariant read Get_Containment write Set_Containment;
  1728.     property Container: WordBool read Get_Container write Set_Container;
  1729.     property HelpFileName: WideString read Get_HelpFileName write Set_HelpFileName;
  1730.     property HelpFileContext: Integer read Get_HelpFileContext write Set_HelpFileContext;
  1731.   end;
  1732.  
  1733.   // *********************************************************************//
  1734.   // DispIntf:  IADsClassDisp
  1735.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1736.   // GUID:      {C8F93DD0-4AE0-11CF-9E73-00AA004A5691}
  1737.   // *********************************************************************//
  1738.   IADsClassDisp = dispinterface
  1739.     ['{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}']
  1740.     property PrimaryInterface: WideString readonly dispid 15;
  1741.     property CLSID: WideString dispid 16;
  1742.     property OID: WideString dispid 17;
  1743.     property Abstract: WordBool dispid 18;
  1744.     property Auxiliary: WordBool dispid 26;
  1745.     property MandatoryProperties: OleVariant dispid 19;
  1746.     property OptionalProperties: OleVariant dispid 29;
  1747.     property NamingProperties: OleVariant dispid 30;
  1748.     property DerivedFrom: OleVariant dispid 20;
  1749.     property AuxDerivedFrom: OleVariant dispid 27;
  1750.     property PossibleSuperiors: OleVariant dispid 28;
  1751.     property Containment: OleVariant dispid 21;
  1752.     property Container: WordBool dispid 22;
  1753.     property HelpFileName: WideString dispid 23;
  1754.     property HelpFileContext: Integer dispid 24;
  1755.     function Qualifiers: IADsCollection; dispid 25;
  1756.     property Name: WideString readonly dispid 2;
  1757.     property Class_: WideString readonly dispid 3;
  1758.     property GUID: WideString readonly dispid 4;
  1759.     property ADsPath: WideString readonly dispid 5;
  1760.     property Parent: WideString readonly dispid 6;
  1761.     property Schema: WideString readonly dispid 7;
  1762.     procedure GetInfo; dispid 8;
  1763.     procedure SetInfo; dispid 9;
  1764.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1765.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1766.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1767.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1768.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1769.   end;
  1770.  
  1771.   // *********************************************************************//
  1772.   // Interface: IADsProperty
  1773.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1774.   // GUID:      {C8F93DD3-4AE0-11CF-9E73-00AA004A5691}
  1775.   // *********************************************************************//
  1776.   IADsProperty = interface(IADs)
  1777.     ['{C8F93DD3-4AE0-11CF-9E73-00AA004A5691}']
  1778.     function Get_OID: WideString; safecall;
  1779.     procedure Set_OID(const retval: WideString); safecall;
  1780.     function Get_Syntax: WideString; safecall;
  1781.     procedure Set_Syntax(const retval: WideString); safecall;
  1782.     function Get_MaxRange: Integer; safecall;
  1783.     procedure Set_MaxRange(retval: Integer); safecall;
  1784.     function Get_MinRange: Integer; safecall;
  1785.     procedure Set_MinRange(retval: Integer); safecall;
  1786.     function Get_MultiValued: WordBool; safecall;
  1787.     procedure Set_MultiValued(retval: WordBool); safecall;
  1788.     function Qualifiers: IADsCollection; safecall;
  1789.     property OID: WideString read Get_OID write Set_OID;
  1790.     property Syntax: WideString read Get_Syntax write Set_Syntax;
  1791.     property MaxRange: Integer read Get_MaxRange write Set_MaxRange;
  1792.     property MinRange: Integer read Get_MinRange write Set_MinRange;
  1793.     property MultiValued: WordBool read Get_MultiValued write Set_MultiValued;
  1794.   end;
  1795.  
  1796.   // *********************************************************************//
  1797.   // DispIntf:  IADsPropertyDisp
  1798.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1799.   // GUID:      {C8F93DD3-4AE0-11CF-9E73-00AA004A5691}
  1800.   // *********************************************************************//
  1801.   IADsPropertyDisp = dispinterface
  1802.     ['{C8F93DD3-4AE0-11CF-9E73-00AA004A5691}']
  1803.     property OID: WideString dispid 17;
  1804.     property Syntax: WideString dispid 18;
  1805.     property MaxRange: Integer dispid 19;
  1806.     property MinRange: Integer dispid 20;
  1807.     property MultiValued: WordBool dispid 21;
  1808.     function Qualifiers: IADsCollection; dispid 22;
  1809.     property Name: WideString readonly dispid 2;
  1810.     property Class_: WideString readonly dispid 3;
  1811.     property GUID: WideString readonly dispid 4;
  1812.     property ADsPath: WideString readonly dispid 5;
  1813.     property Parent: WideString readonly dispid 6;
  1814.     property Schema: WideString readonly dispid 7;
  1815.     procedure GetInfo; dispid 8;
  1816.     procedure SetInfo; dispid 9;
  1817.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1818.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1819.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1820.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1821.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1822.   end;
  1823.  
  1824.   // *********************************************************************//
  1825.   // Interface: IADsSyntax
  1826.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1827.   // GUID:      {C8F93DD2-4AE0-11CF-9E73-00AA004A5691}
  1828.   // *********************************************************************//
  1829.   IADsSyntax = interface(IADs)
  1830.     ['{C8F93DD2-4AE0-11CF-9E73-00AA004A5691}']
  1831.     function Get_OleAutoDataType: Integer; safecall;
  1832.     procedure Set_OleAutoDataType(retval: Integer); safecall;
  1833.     property OleAutoDataType: Integer read Get_OleAutoDataType write Set_OleAutoDataType;
  1834.   end;
  1835.  
  1836.   // *********************************************************************//
  1837.   // DispIntf:  IADsSyntaxDisp
  1838.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1839.   // GUID:      {C8F93DD2-4AE0-11CF-9E73-00AA004A5691}
  1840.   // *********************************************************************//
  1841.   IADsSyntaxDisp = dispinterface
  1842.     ['{C8F93DD2-4AE0-11CF-9E73-00AA004A5691}']
  1843.     property OleAutoDataType: Integer dispid 15;
  1844.     property Name: WideString readonly dispid 2;
  1845.     property Class_: WideString readonly dispid 3;
  1846.     property GUID: WideString readonly dispid 4;
  1847.     property ADsPath: WideString readonly dispid 5;
  1848.     property Parent: WideString readonly dispid 6;
  1849.     property Schema: WideString readonly dispid 7;
  1850.     procedure GetInfo; dispid 8;
  1851.     procedure SetInfo; dispid 9;
  1852.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1853.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1854.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1855.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1856.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1857.   end;
  1858.  
  1859.   // *********************************************************************//
  1860.   // Interface: IADsLocality
  1861.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1862.   // GUID:      {A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}
  1863.   // *********************************************************************//
  1864.   IADsLocality = interface(IADs)
  1865.     ['{A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}']
  1866.     function Get_Description: WideString; safecall;
  1867.     procedure Set_Description(const retval: WideString); safecall;
  1868.     function Get_LocalityName: WideString; safecall;
  1869.     procedure Set_LocalityName(const retval: WideString); safecall;
  1870.     function Get_PostalAddress: WideString; safecall;
  1871.     procedure Set_PostalAddress(const retval: WideString); safecall;
  1872.     function Get_SeeAlso: OleVariant; safecall;
  1873.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  1874.     property Description: WideString read Get_Description write Set_Description;
  1875.     property LocalityName: WideString read Get_LocalityName write Set_LocalityName;
  1876.     property PostalAddress: WideString read Get_PostalAddress write Set_PostalAddress;
  1877.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  1878.   end;
  1879.  
  1880.   // *********************************************************************//
  1881.   // DispIntf:  IADsLocalityDisp
  1882.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1883.   // GUID:      {A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}
  1884.   // *********************************************************************//
  1885.   IADsLocalityDisp = dispinterface
  1886.     ['{A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}']
  1887.     property Description: WideString dispid 15;
  1888.     property LocalityName: WideString dispid 16;
  1889.     property PostalAddress: WideString dispid 17;
  1890.     property SeeAlso: OleVariant dispid 18;
  1891.     property Name: WideString readonly dispid 2;
  1892.     property Class_: WideString readonly dispid 3;
  1893.     property GUID: WideString readonly dispid 4;
  1894.     property ADsPath: WideString readonly dispid 5;
  1895.     property Parent: WideString readonly dispid 6;
  1896.     property Schema: WideString readonly dispid 7;
  1897.     procedure GetInfo; dispid 8;
  1898.     procedure SetInfo; dispid 9;
  1899.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1900.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1901.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1902.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1903.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1904.   end;
  1905.  
  1906.   // *********************************************************************//
  1907.   // Interface: IADsO
  1908.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1909.   // GUID:      {A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}
  1910.   // *********************************************************************//
  1911.   IADsO = interface(IADs)
  1912.     ['{A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}']
  1913.     function Get_Description: WideString; safecall;
  1914.     procedure Set_Description(const retval: WideString); safecall;
  1915.     function Get_LocalityName: WideString; safecall;
  1916.     procedure Set_LocalityName(const retval: WideString); safecall;
  1917.     function Get_PostalAddress: WideString; safecall;
  1918.     procedure Set_PostalAddress(const retval: WideString); safecall;
  1919.     function Get_TelephoneNumber: WideString; safecall;
  1920.     procedure Set_TelephoneNumber(const retval: WideString); safecall;
  1921.     function Get_FaxNumber: WideString; safecall;
  1922.     procedure Set_FaxNumber(const retval: WideString); safecall;
  1923.     function Get_SeeAlso: OleVariant; safecall;
  1924.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  1925.     property Description: WideString read Get_Description write Set_Description;
  1926.     property LocalityName: WideString read Get_LocalityName write Set_LocalityName;
  1927.     property PostalAddress: WideString read Get_PostalAddress write Set_PostalAddress;
  1928.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  1929.     property FaxNumber: WideString read Get_FaxNumber write Set_FaxNumber;
  1930.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  1931.   end;
  1932.  
  1933.   // *********************************************************************//
  1934.   // DispIntf:  IADsODisp
  1935.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1936.   // GUID:      {A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}
  1937.   // *********************************************************************//
  1938.   IADsODisp = dispinterface
  1939.     ['{A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}']
  1940.     property Description: WideString dispid 15;
  1941.     property LocalityName: WideString dispid 16;
  1942.     property PostalAddress: WideString dispid 17;
  1943.     property TelephoneNumber: WideString dispid 18;
  1944.     property FaxNumber: WideString dispid 19;
  1945.     property SeeAlso: OleVariant dispid 20;
  1946.     property Name: WideString readonly dispid 2;
  1947.     property Class_: WideString readonly dispid 3;
  1948.     property GUID: WideString readonly dispid 4;
  1949.     property ADsPath: WideString readonly dispid 5;
  1950.     property Parent: WideString readonly dispid 6;
  1951.     property Schema: WideString readonly dispid 7;
  1952.     procedure GetInfo; dispid 8;
  1953.     procedure SetInfo; dispid 9;
  1954.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  1955.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1956.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1957.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1958.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1959.   end;
  1960.  
  1961.   // *********************************************************************//
  1962.   // Interface: IADsOU
  1963.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1964.   // GUID:      {A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}
  1965.   // *********************************************************************//
  1966.   IADsOU = interface(IADs)
  1967.     ['{A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}']
  1968.     function Get_Description: WideString; safecall;
  1969.     procedure Set_Description(const retval: WideString); safecall;
  1970.     function Get_LocalityName: WideString; safecall;
  1971.     procedure Set_LocalityName(const retval: WideString); safecall;
  1972.     function Get_PostalAddress: WideString; safecall;
  1973.     procedure Set_PostalAddress(const retval: WideString); safecall;
  1974.     function Get_TelephoneNumber: WideString; safecall;
  1975.     procedure Set_TelephoneNumber(const retval: WideString); safecall;
  1976.     function Get_FaxNumber: WideString; safecall;
  1977.     procedure Set_FaxNumber(const retval: WideString); safecall;
  1978.     function Get_SeeAlso: OleVariant; safecall;
  1979.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  1980.     function Get_BusinessCategory: WideString; safecall;
  1981.     procedure Set_BusinessCategory(const retval: WideString); safecall;
  1982.     property Description: WideString read Get_Description write Set_Description;
  1983.     property LocalityName: WideString read Get_LocalityName write Set_LocalityName;
  1984.     property PostalAddress: WideString read Get_PostalAddress write Set_PostalAddress;
  1985.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  1986.     property FaxNumber: WideString read Get_FaxNumber write Set_FaxNumber;
  1987.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  1988.     property BusinessCategory: WideString read Get_BusinessCategory write Set_BusinessCategory;
  1989.   end;
  1990.  
  1991.   // *********************************************************************//
  1992.   // DispIntf:  IADsOUDisp
  1993.   // Flags:     (4416) Dual OleAutomation Dispatchable
  1994.   // GUID:      {A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}
  1995.   // *********************************************************************//
  1996.   IADsOUDisp = dispinterface
  1997.     ['{A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}']
  1998.     property Description: WideString dispid 15;
  1999.     property LocalityName: WideString dispid 16;
  2000.     property PostalAddress: WideString dispid 17;
  2001.     property TelephoneNumber: WideString dispid 18;
  2002.     property FaxNumber: WideString dispid 19;
  2003.     property SeeAlso: OleVariant dispid 20;
  2004.     property BusinessCategory: WideString dispid 21;
  2005.     property Name: WideString readonly dispid 2;
  2006.     property Class_: WideString readonly dispid 3;
  2007.     property GUID: WideString readonly dispid 4;
  2008.     property ADsPath: WideString readonly dispid 5;
  2009.     property Parent: WideString readonly dispid 6;
  2010.     property Schema: WideString readonly dispid 7;
  2011.     procedure GetInfo; dispid 8;
  2012.     procedure SetInfo; dispid 9;
  2013.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2014.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2015.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2016.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2017.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2018.   end;
  2019.  
  2020.   // *********************************************************************//
  2021.   // Interface: IADsDomain
  2022.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2023.   // GUID:      {00E4C220-FD16-11CE-ABC4-02608C9E7553}
  2024.   // *********************************************************************//
  2025.   IADsDomain = interface(IADs)
  2026.     ['{00E4C220-FD16-11CE-ABC4-02608C9E7553}']
  2027.     function Get_IsWorkgroup: WordBool; safecall;
  2028.     function Get_MinPasswordLength: Integer; safecall;
  2029.     procedure Set_MinPasswordLength(retval: Integer); safecall;
  2030.     function Get_MinPasswordAge: Integer; safecall;
  2031.     procedure Set_MinPasswordAge(retval: Integer); safecall;
  2032.     function Get_MaxPasswordAge: Integer; safecall;
  2033.     procedure Set_MaxPasswordAge(retval: Integer); safecall;
  2034.     function Get_MaxBadPasswordsAllowed: Integer; safecall;
  2035.     procedure Set_MaxBadPasswordsAllowed(retval: Integer); safecall;
  2036.     function Get_PasswordHistoryLength: Integer; safecall;
  2037.     procedure Set_PasswordHistoryLength(retval: Integer); safecall;
  2038.     function Get_PasswordAttributes: Integer; safecall;
  2039.     procedure Set_PasswordAttributes(retval: Integer); safecall;
  2040.     function Get_AutoUnlockInterval: Integer; safecall;
  2041.     procedure Set_AutoUnlockInterval(retval: Integer); safecall;
  2042.     function Get_LockoutObservationInterval: Integer; safecall;
  2043.     procedure Set_LockoutObservationInterval(retval: Integer); safecall;
  2044.     property IsWorkgroup: WordBool read Get_IsWorkgroup;
  2045.     property MinPasswordLength: Integer read Get_MinPasswordLength write Set_MinPasswordLength;
  2046.     property MinPasswordAge: Integer read Get_MinPasswordAge write Set_MinPasswordAge;
  2047.     property MaxPasswordAge: Integer read Get_MaxPasswordAge write Set_MaxPasswordAge;
  2048.     property MaxBadPasswordsAllowed: Integer read Get_MaxBadPasswordsAllowed write Set_MaxBadPasswordsAllowed;
  2049.     property PasswordHistoryLength: Integer read Get_PasswordHistoryLength write Set_PasswordHistoryLength;
  2050.     property PasswordAttributes: Integer read Get_PasswordAttributes write Set_PasswordAttributes;
  2051.     property AutoUnlockInterval: Integer read Get_AutoUnlockInterval write Set_AutoUnlockInterval;
  2052.     property LockoutObservationInterval: Integer read Get_LockoutObservationInterval write Set_LockoutObservationInterval;
  2053.   end;
  2054.  
  2055.   // *********************************************************************//
  2056.   // DispIntf:  IADsDomainDisp
  2057.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2058.   // GUID:      {00E4C220-FD16-11CE-ABC4-02608C9E7553}
  2059.   // *********************************************************************//
  2060.   IADsDomainDisp = dispinterface
  2061.     ['{00E4C220-FD16-11CE-ABC4-02608C9E7553}']
  2062.     property IsWorkgroup: WordBool readonly dispid 15;
  2063.     property MinPasswordLength: Integer dispid 16;
  2064.     property MinPasswordAge: Integer dispid 17;
  2065.     property MaxPasswordAge: Integer dispid 18;
  2066.     property MaxBadPasswordsAllowed: Integer dispid 19;
  2067.     property PasswordHistoryLength: Integer dispid 20;
  2068.     property PasswordAttributes: Integer dispid 21;
  2069.     property AutoUnlockInterval: Integer dispid 22;
  2070.     property LockoutObservationInterval: Integer dispid 23;
  2071.     property Name: WideString readonly dispid 2;
  2072.     property Class_: WideString readonly dispid 3;
  2073.     property GUID: WideString readonly dispid 4;
  2074.     property ADsPath: WideString readonly dispid 5;
  2075.     property Parent: WideString readonly dispid 6;
  2076.     property Schema: WideString readonly dispid 7;
  2077.     procedure GetInfo; dispid 8;
  2078.     procedure SetInfo; dispid 9;
  2079.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2080.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2081.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2082.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2083.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2084.   end;
  2085.  
  2086.   // *********************************************************************//
  2087.   // Interface: IADsComputer
  2088.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2089.   // GUID:      {EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}
  2090.   // *********************************************************************//
  2091.   IADsComputer = interface(IADs)
  2092.     ['{EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}']
  2093.     function Get_ComputerID: WideString; safecall;
  2094.     function Get_Site: WideString; safecall;
  2095.     function Get_Description: WideString; safecall;
  2096.     procedure Set_Description(const retval: WideString); safecall;
  2097.     function Get_Location: WideString; safecall;
  2098.     procedure Set_Location(const retval: WideString); safecall;
  2099.     function Get_PrimaryUser: WideString; safecall;
  2100.     procedure Set_PrimaryUser(const retval: WideString); safecall;
  2101.     function Get_Owner: WideString; safecall;
  2102.     procedure Set_Owner(const retval: WideString); safecall;
  2103.     function Get_Division: WideString; safecall;
  2104.     procedure Set_Division(const retval: WideString); safecall;
  2105.     function Get_Department: WideString; safecall;
  2106.     procedure Set_Department(const retval: WideString); safecall;
  2107.     function Get_Role: WideString; safecall;
  2108.     procedure Set_Role(const retval: WideString); safecall;
  2109.     function Get_OperatingSystem: WideString; safecall;
  2110.     procedure Set_OperatingSystem(const retval: WideString); safecall;
  2111.     function Get_OperatingSystemVersion: WideString; safecall;
  2112.     procedure Set_OperatingSystemVersion(const retval: WideString); safecall;
  2113.     function Get_Model: WideString; safecall;
  2114.     procedure Set_Model(const retval: WideString); safecall;
  2115.     function Get_Processor: WideString; safecall;
  2116.     procedure Set_Processor(const retval: WideString); safecall;
  2117.     function Get_ProcessorCount: WideString; safecall;
  2118.     procedure Set_ProcessorCount(const retval: WideString); safecall;
  2119.     function Get_MemorySize: WideString; safecall;
  2120.     procedure Set_MemorySize(const retval: WideString); safecall;
  2121.     function Get_StorageCapacity: WideString; safecall;
  2122.     procedure Set_StorageCapacity(const retval: WideString); safecall;
  2123.     function Get_NetAddresses: OleVariant; safecall;
  2124.     procedure Set_NetAddresses(retval: OleVariant); safecall;
  2125.     property ComputerID: WideString read Get_ComputerID;
  2126.     property Site: WideString read Get_Site;
  2127.     property Description: WideString read Get_Description write Set_Description;
  2128.     property Location: WideString read Get_Location write Set_Location;
  2129.     property PrimaryUser: WideString read Get_PrimaryUser write Set_PrimaryUser;
  2130.     property Owner: WideString read Get_Owner write Set_Owner;
  2131.     property Division: WideString read Get_Division write Set_Division;
  2132.     property Department: WideString read Get_Department write Set_Department;
  2133.     property Role: WideString read Get_Role write Set_Role;
  2134.     property OperatingSystem: WideString read Get_OperatingSystem write Set_OperatingSystem;
  2135.     property OperatingSystemVersion: WideString read Get_OperatingSystemVersion write Set_OperatingSystemVersion;
  2136.     property Model: WideString read Get_Model write Set_Model;
  2137.     property Processor: WideString read Get_Processor write Set_Processor;
  2138.     property ProcessorCount: WideString read Get_ProcessorCount write Set_ProcessorCount;
  2139.     property MemorySize: WideString read Get_MemorySize write Set_MemorySize;
  2140.     property StorageCapacity: WideString read Get_StorageCapacity write Set_StorageCapacity;
  2141.     property NetAddresses: OleVariant read Get_NetAddresses write Set_NetAddresses;
  2142.   end;
  2143.  
  2144.   // *********************************************************************//
  2145.   // DispIntf:  IADsComputerDisp
  2146.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2147.   // GUID:      {EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}
  2148.   // *********************************************************************//
  2149.   IADsComputerDisp = dispinterface
  2150.     ['{EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}']
  2151.     property ComputerID: WideString readonly dispid 16;
  2152.     property Site: WideString readonly dispid 18;
  2153.     property Description: WideString dispid 19;
  2154.     property Location: WideString dispid 20;
  2155.     property PrimaryUser: WideString dispid 21;
  2156.     property Owner: WideString dispid 22;
  2157.     property Division: WideString dispid 23;
  2158.     property Department: WideString dispid 24;
  2159.     property Role: WideString dispid 25;
  2160.     property OperatingSystem: WideString dispid 26;
  2161.     property OperatingSystemVersion: WideString dispid 27;
  2162.     property Model: WideString dispid 28;
  2163.     property Processor: WideString dispid 29;
  2164.     property ProcessorCount: WideString dispid 30;
  2165.     property MemorySize: WideString dispid 31;
  2166.     property StorageCapacity: WideString dispid 32;
  2167.     property NetAddresses: OleVariant dispid 17;
  2168.     property Name: WideString readonly dispid 2;
  2169.     property Class_: WideString readonly dispid 3;
  2170.     property GUID: WideString readonly dispid 4;
  2171.     property ADsPath: WideString readonly dispid 5;
  2172.     property Parent: WideString readonly dispid 6;
  2173.     property Schema: WideString readonly dispid 7;
  2174.     procedure GetInfo; dispid 8;
  2175.     procedure SetInfo; dispid 9;
  2176.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2177.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2178.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2179.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2180.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2181.   end;
  2182.  
  2183.   // *********************************************************************//
  2184.   // Interface: IADsComputerOperations
  2185.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2186.   // GUID:      {EF497680-1D9F-11CF-B1F3-02608C9E7553}
  2187.   // *********************************************************************//
  2188.   IADsComputerOperations = interface(IADs)
  2189.     ['{EF497680-1D9F-11CF-B1F3-02608C9E7553}']
  2190.     function Status: IDispatch; safecall;
  2191.     procedure Shutdown(bReboot: WordBool); safecall;
  2192.   end;
  2193.  
  2194.   // *********************************************************************//
  2195.   // DispIntf:  IADsComputerOperationsDisp
  2196.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2197.   // GUID:      {EF497680-1D9F-11CF-B1F3-02608C9E7553}
  2198.   // *********************************************************************//
  2199.   IADsComputerOperationsDisp = dispinterface
  2200.     ['{EF497680-1D9F-11CF-B1F3-02608C9E7553}']
  2201.     function Status: IDispatch; dispid 33;
  2202.     procedure Shutdown(bReboot: WordBool); dispid 34;
  2203.     property Name: WideString readonly dispid 2;
  2204.     property Class_: WideString readonly dispid 3;
  2205.     property GUID: WideString readonly dispid 4;
  2206.     property ADsPath: WideString readonly dispid 5;
  2207.     property Parent: WideString readonly dispid 6;
  2208.     property Schema: WideString readonly dispid 7;
  2209.     procedure GetInfo; dispid 8;
  2210.     procedure SetInfo; dispid 9;
  2211.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2212.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2213.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2214.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2215.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2216.   end;
  2217.  
  2218.   // *********************************************************************//
  2219.   // Interface: IADsGroup
  2220.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2221.   // GUID:      {27636B00-410F-11CF-B1FF-02608C9E7553}
  2222.   // *********************************************************************//
  2223.   IADsGroup = interface(IADs)
  2224.     ['{27636B00-410F-11CF-B1FF-02608C9E7553}']
  2225.     function Get_Description: WideString; safecall;
  2226.     procedure Set_Description(const retval: WideString); safecall;
  2227.     function Members: IADsMembers; safecall;
  2228.     function IsMember(const bstrMember: WideString): WordBool; safecall;
  2229.     procedure Add(const bstrNewItem: WideString); safecall;
  2230.     procedure Remove(const bstrItemToBeRemoved: WideString); safecall;
  2231.     property Description: WideString read Get_Description write Set_Description;
  2232.   end;
  2233.  
  2234.   // *********************************************************************//
  2235.   // DispIntf:  IADsGroupDisp
  2236.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2237.   // GUID:      {27636B00-410F-11CF-B1FF-02608C9E7553}
  2238.   // *********************************************************************//
  2239.   IADsGroupDisp = dispinterface
  2240.     ['{27636B00-410F-11CF-B1FF-02608C9E7553}']
  2241.     property Description: WideString dispid 15;
  2242.     function Members: IADsMembers; dispid 16;
  2243.     function IsMember(const bstrMember: WideString): WordBool; dispid 17;
  2244.     procedure Add(const bstrNewItem: WideString); dispid 18;
  2245.     procedure Remove(const bstrItemToBeRemoved: WideString); dispid 19;
  2246.     property Name: WideString readonly dispid 2;
  2247.     property Class_: WideString readonly dispid 3;
  2248.     property GUID: WideString readonly dispid 4;
  2249.     property ADsPath: WideString readonly dispid 5;
  2250.     property Parent: WideString readonly dispid 6;
  2251.     property Schema: WideString readonly dispid 7;
  2252.     procedure GetInfo; dispid 8;
  2253.     procedure SetInfo; dispid 9;
  2254.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2255.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2256.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2257.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2258.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2259.   end;
  2260.  
  2261.   // *********************************************************************//
  2262.   // Interface: IADsUser
  2263.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2264.   // GUID:      {3E37E320-17E2-11CF-ABC4-02608C9E7553}
  2265.   // *********************************************************************//
  2266.   IADsUser = interface(IADs)
  2267.     ['{3E37E320-17E2-11CF-ABC4-02608C9E7553}']
  2268.     function Get_BadLoginAddress: WideString; safecall;
  2269.     function Get_BadLoginCount: Integer; safecall;
  2270.     function Get_LastLogin: TDateTime; safecall;
  2271.     function Get_LastLogoff: TDateTime; safecall;
  2272.     function Get_LastFailedLogin: TDateTime; safecall;
  2273.     function Get_PasswordLastChanged: TDateTime; safecall;
  2274.     function Get_Description: WideString; safecall;
  2275.     procedure Set_Description(const retval: WideString); safecall;
  2276.     function Get_Division: WideString; safecall;
  2277.     procedure Set_Division(const retval: WideString); safecall;
  2278.     function Get_Department: WideString; safecall;
  2279.     procedure Set_Department(const retval: WideString); safecall;
  2280.     function Get_EmployeeID: WideString; safecall;
  2281.     procedure Set_EmployeeID(const retval: WideString); safecall;
  2282.     function Get_FullName: WideString; safecall;
  2283.     procedure Set_FullName(const retval: WideString); safecall;
  2284.     function Get_FirstName: WideString; safecall;
  2285.     procedure Set_FirstName(const retval: WideString); safecall;
  2286.     function Get_LastName: WideString; safecall;
  2287.     procedure Set_LastName(const retval: WideString); safecall;
  2288.     function Get_OtherName: WideString; safecall;
  2289.     procedure Set_OtherName(const retval: WideString); safecall;
  2290.     function Get_NamePrefix: WideString; safecall;
  2291.     procedure Set_NamePrefix(const retval: WideString); safecall;
  2292.     function Get_NameSuffix: WideString; safecall;
  2293.     procedure Set_NameSuffix(const retval: WideString); safecall;
  2294.     function Get_Title: WideString; safecall;
  2295.     procedure Set_Title(const retval: WideString); safecall;
  2296.     function Get_Manager: WideString; safecall;
  2297.     procedure Set_Manager(const retval: WideString); safecall;
  2298.     function Get_TelephoneHome: OleVariant; safecall;
  2299.     procedure Set_TelephoneHome(retval: OleVariant); safecall;
  2300.     function Get_TelephoneMobile: OleVariant; safecall;
  2301.     procedure Set_TelephoneMobile(retval: OleVariant); safecall;
  2302.     function Get_TelephoneNumber: OleVariant; safecall;
  2303.     procedure Set_TelephoneNumber(retval: OleVariant); safecall;
  2304.     function Get_TelephonePager: OleVariant; safecall;
  2305.     procedure Set_TelephonePager(retval: OleVariant); safecall;
  2306.     function Get_FaxNumber: OleVariant; safecall;
  2307.     procedure Set_FaxNumber(retval: OleVariant); safecall;
  2308.     function Get_OfficeLocations: OleVariant; safecall;
  2309.     procedure Set_OfficeLocations(retval: OleVariant); safecall;
  2310.     function Get_PostalAddresses: OleVariant; safecall;
  2311.     procedure Set_PostalAddresses(retval: OleVariant); safecall;
  2312.     function Get_PostalCodes: OleVariant; safecall;
  2313.     procedure Set_PostalCodes(retval: OleVariant); safecall;
  2314.     function Get_SeeAlso: OleVariant; safecall;
  2315.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  2316.     function Get_AccountDisabled: WordBool; safecall;
  2317.     procedure Set_AccountDisabled(retval: WordBool); safecall;
  2318.     function Get_AccountExpirationDate: TDateTime; safecall;
  2319.     procedure Set_AccountExpirationDate(retval: TDateTime); safecall;
  2320.     function Get_GraceLoginsAllowed: Integer; safecall;
  2321.     procedure Set_GraceLoginsAllowed(retval: Integer); safecall;
  2322.     function Get_GraceLoginsRemaining: Integer; safecall;
  2323.     procedure Set_GraceLoginsRemaining(retval: Integer); safecall;
  2324.     function Get_IsAccountLocked: WordBool; safecall;
  2325.     procedure Set_IsAccountLocked(retval: WordBool); safecall;
  2326.     function Get_LoginHours: OleVariant; safecall;
  2327.     procedure Set_LoginHours(retval: OleVariant); safecall;
  2328.     function Get_LoginWorkstations: OleVariant; safecall;
  2329.     procedure Set_LoginWorkstations(retval: OleVariant); safecall;
  2330.     function Get_MaxLogins: Integer; safecall;
  2331.     procedure Set_MaxLogins(retval: Integer); safecall;
  2332.     function Get_MaxStorage: Integer; safecall;
  2333.     procedure Set_MaxStorage(retval: Integer); safecall;
  2334.     function Get_PasswordExpirationDate: TDateTime; safecall;
  2335.     procedure Set_PasswordExpirationDate(retval: TDateTime); safecall;
  2336.     function Get_PasswordMinimumLength: Integer; safecall;
  2337.     procedure Set_PasswordMinimumLength(retval: Integer); safecall;
  2338.     function Get_PasswordRequired: WordBool; safecall;
  2339.     procedure Set_PasswordRequired(retval: WordBool); safecall;
  2340.     function Get_RequireUniquePassword: WordBool; safecall;
  2341.     procedure Set_RequireUniquePassword(retval: WordBool); safecall;
  2342.     function Get_EmailAddress: WideString; safecall;
  2343.     procedure Set_EmailAddress(const retval: WideString); safecall;
  2344.     function Get_HomeDirectory: WideString; safecall;
  2345.     procedure Set_HomeDirectory(const retval: WideString); safecall;
  2346.     function Get_Languages: OleVariant; safecall;
  2347.     procedure Set_Languages(retval: OleVariant); safecall;
  2348.     function Get_Profile: WideString; safecall;
  2349.     procedure Set_Profile(const retval: WideString); safecall;
  2350.     function Get_LoginScript: WideString; safecall;
  2351.     procedure Set_LoginScript(const retval: WideString); safecall;
  2352.     function Get_Picture: OleVariant; safecall;
  2353.     procedure Set_Picture(retval: OleVariant); safecall;
  2354.     function Get_HomePage: WideString; safecall;
  2355.     procedure Set_HomePage(const retval: WideString); safecall;
  2356.     function Groups: IADsMembers; safecall;
  2357.     procedure SetPassword(const NewPassword: WideString); safecall;
  2358.     procedure ChangePassword(const bstrOldPassword: WideString; const bstrNewPassword: WideString); safecall;
  2359.     property BadLoginAddress: WideString read Get_BadLoginAddress;
  2360.     property BadLoginCount: Integer read Get_BadLoginCount;
  2361.     property LastLogin: TDateTime read Get_LastLogin;
  2362.     property LastLogoff: TDateTime read Get_LastLogoff;
  2363.     property LastFailedLogin: TDateTime read Get_LastFailedLogin;
  2364.     property PasswordLastChanged: TDateTime read Get_PasswordLastChanged;
  2365.     property Description: WideString read Get_Description write Set_Description;
  2366.     property Division: WideString read Get_Division write Set_Division;
  2367.     property Department: WideString read Get_Department write Set_Department;
  2368.     property EmployeeID: WideString read Get_EmployeeID write Set_EmployeeID;
  2369.     property FullName: WideString read Get_FullName write Set_FullName;
  2370.     property FirstName: WideString read Get_FirstName write Set_FirstName;
  2371.     property LastName: WideString read Get_LastName write Set_LastName;
  2372.     property OtherName: WideString read Get_OtherName write Set_OtherName;
  2373.     property NamePrefix: WideString read Get_NamePrefix write Set_NamePrefix;
  2374.     property NameSuffix: WideString read Get_NameSuffix write Set_NameSuffix;
  2375.     property Title: WideString read Get_Title write Set_Title;
  2376.     property Manager: WideString read Get_Manager write Set_Manager;
  2377.     property TelephoneHome: OleVariant read Get_TelephoneHome write Set_TelephoneHome;
  2378.     property TelephoneMobile: OleVariant read Get_TelephoneMobile write Set_TelephoneMobile;
  2379.     property TelephoneNumber: OleVariant read Get_TelephoneNumber write Set_TelephoneNumber;
  2380.     property TelephonePager: OleVariant read Get_TelephonePager write Set_TelephonePager;
  2381.     property FaxNumber: OleVariant read Get_FaxNumber write Set_FaxNumber;
  2382.     property OfficeLocations: OleVariant read Get_OfficeLocations write Set_OfficeLocations;
  2383.     property PostalAddresses: OleVariant read Get_PostalAddresses write Set_PostalAddresses;
  2384.     property PostalCodes: OleVariant read Get_PostalCodes write Set_PostalCodes;
  2385.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  2386.     property AccountDisabled: WordBool read Get_AccountDisabled write Set_AccountDisabled;
  2387.     property AccountExpirationDate: TDateTime read Get_AccountExpirationDate write Set_AccountExpirationDate;
  2388.     property GraceLoginsAllowed: Integer read Get_GraceLoginsAllowed write Set_GraceLoginsAllowed;
  2389.     property GraceLoginsRemaining: Integer read Get_GraceLoginsRemaining write Set_GraceLoginsRemaining;
  2390.     property IsAccountLocked: WordBool read Get_IsAccountLocked write Set_IsAccountLocked;
  2391.     property LoginHours: OleVariant read Get_LoginHours write Set_LoginHours;
  2392.     property LoginWorkstations: OleVariant read Get_LoginWorkstations write Set_LoginWorkstations;
  2393.     property MaxLogins: Integer read Get_MaxLogins write Set_MaxLogins;
  2394.     property MaxStorage: Integer read Get_MaxStorage write Set_MaxStorage;
  2395.     property PasswordExpirationDate: TDateTime read Get_PasswordExpirationDate write Set_PasswordExpirationDate;
  2396.     property PasswordMinimumLength: Integer read Get_PasswordMinimumLength write Set_PasswordMinimumLength;
  2397.     property PasswordRequired: WordBool read Get_PasswordRequired write Set_PasswordRequired;
  2398.     property RequireUniquePassword: WordBool read Get_RequireUniquePassword write Set_RequireUniquePassword;
  2399.     property EmailAddress: WideString read Get_EmailAddress write Set_EmailAddress;
  2400.     property HomeDirectory: WideString read Get_HomeDirectory write Set_HomeDirectory;
  2401.     property Languages: OleVariant read Get_Languages write Set_Languages;
  2402.     property Profile: WideString read Get_Profile write Set_Profile;
  2403.     property LoginScript: WideString read Get_LoginScript write Set_LoginScript;
  2404.     property Picture: OleVariant read Get_Picture write Set_Picture;
  2405.     property HomePage: WideString read Get_HomePage write Set_HomePage;
  2406.   end;
  2407.  
  2408.   // *********************************************************************//
  2409.   // DispIntf:  IADsUserDisp
  2410.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2411.   // GUID:      {3E37E320-17E2-11CF-ABC4-02608C9E7553}
  2412.   // *********************************************************************//
  2413.   IADsUserDisp = dispinterface
  2414.     ['{3E37E320-17E2-11CF-ABC4-02608C9E7553}']
  2415.     property BadLoginAddress: WideString readonly dispid 53;
  2416.     property BadLoginCount: Integer readonly dispid 54;
  2417.     property LastLogin: TDateTime readonly dispid 56;
  2418.     property LastLogoff: TDateTime readonly dispid 57;
  2419.     property LastFailedLogin: TDateTime readonly dispid 58;
  2420.     property PasswordLastChanged: TDateTime readonly dispid 59;
  2421.     property Description: WideString dispid 15;
  2422.     property Division: WideString dispid 19;
  2423.     property Department: WideString dispid 122;
  2424.     property EmployeeID: WideString dispid 20;
  2425.     property FullName: WideString dispid 23;
  2426.     property FirstName: WideString dispid 22;
  2427.     property LastName: WideString dispid 25;
  2428.     property OtherName: WideString dispid 27;
  2429.     property NamePrefix: WideString dispid 114;
  2430.     property NameSuffix: WideString dispid 115;
  2431.     property Title: WideString dispid 36;
  2432.     property Manager: WideString dispid 26;
  2433.     property TelephoneHome: OleVariant dispid 32;
  2434.     property TelephoneMobile: OleVariant dispid 33;
  2435.     property TelephoneNumber: OleVariant dispid 34;
  2436.     property TelephonePager: OleVariant dispid 17;
  2437.     property FaxNumber: OleVariant dispid 16;
  2438.     property OfficeLocations: OleVariant dispid 28;
  2439.     property PostalAddresses: OleVariant dispid 30;
  2440.     property PostalCodes: OleVariant dispid 31;
  2441.     property SeeAlso: OleVariant dispid 117;
  2442.     property AccountDisabled: WordBool dispid 37;
  2443.     property AccountExpirationDate: TDateTime dispid 38;
  2444.     property GraceLoginsAllowed: Integer dispid 41;
  2445.     property GraceLoginsRemaining: Integer dispid 42;
  2446.     property IsAccountLocked: WordBool dispid 43;
  2447.     property LoginHours: OleVariant dispid 45;
  2448.     property LoginWorkstations: OleVariant dispid 46;
  2449.     property MaxLogins: Integer dispid 47;
  2450.     property MaxStorage: Integer dispid 48;
  2451.     property PasswordExpirationDate: TDateTime dispid 49;
  2452.     property PasswordMinimumLength: Integer dispid 50;
  2453.     property PasswordRequired: WordBool dispid 51;
  2454.     property RequireUniquePassword: WordBool dispid 52;
  2455.     property EmailAddress: WideString dispid 60;
  2456.     property HomeDirectory: WideString dispid 61;
  2457.     property Languages: OleVariant dispid 62;
  2458.     property Profile: WideString dispid 63;
  2459.     property LoginScript: WideString dispid 64;
  2460.     property Picture: OleVariant dispid 65;
  2461.     property HomePage: WideString dispid 120;
  2462.     function Groups: IADsMembers; dispid 66;
  2463.     procedure SetPassword(const NewPassword: WideString); dispid 67;
  2464.     procedure ChangePassword(const bstrOldPassword: WideString; const bstrNewPassword: WideString); dispid 68;
  2465.     property Name: WideString readonly dispid 2;
  2466.     property Class_: WideString readonly dispid 3;
  2467.     property GUID: WideString readonly dispid 4;
  2468.     property ADsPath: WideString readonly dispid 5;
  2469.     property Parent: WideString readonly dispid 6;
  2470.     property Schema: WideString readonly dispid 7;
  2471.     procedure GetInfo; dispid 8;
  2472.     procedure SetInfo; dispid 9;
  2473.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2474.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2475.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2476.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2477.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2478.   end;
  2479.  
  2480.   // *********************************************************************//
  2481.   // Interface: IADsPrintQueue
  2482.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2483.   // GUID:      {B15160D0-1226-11CF-A985-00AA006BC149}
  2484.   // *********************************************************************//
  2485.   IADsPrintQueue = interface(IADs)
  2486.     ['{B15160D0-1226-11CF-A985-00AA006BC149}']
  2487.     function Get_PrinterPath: WideString; safecall;
  2488.     procedure Set_PrinterPath(const retval: WideString); safecall;
  2489.     function Get_Model: WideString; safecall;
  2490.     procedure Set_Model(const retval: WideString); safecall;
  2491.     function Get_Datatype: WideString; safecall;
  2492.     procedure Set_Datatype(const retval: WideString); safecall;
  2493.     function Get_PrintProcessor: WideString; safecall;
  2494.     procedure Set_PrintProcessor(const retval: WideString); safecall;
  2495.     function Get_Description: WideString; safecall;
  2496.     procedure Set_Description(const retval: WideString); safecall;
  2497.     function Get_Location: WideString; safecall;
  2498.     procedure Set_Location(const retval: WideString); safecall;
  2499.     function Get_StartTime: TDateTime; safecall;
  2500.     procedure Set_StartTime(retval: TDateTime); safecall;
  2501.     function Get_UntilTime: TDateTime; safecall;
  2502.     procedure Set_UntilTime(retval: TDateTime); safecall;
  2503.     function Get_DefaultJobPriority: Integer; safecall;
  2504.     procedure Set_DefaultJobPriority(retval: Integer); safecall;
  2505.     function Get_Priority: Integer; safecall;
  2506.     procedure Set_Priority(retval: Integer); safecall;
  2507.     function Get_BannerPage: WideString; safecall;
  2508.     procedure Set_BannerPage(const retval: WideString); safecall;
  2509.     function Get_PrintDevices: OleVariant; safecall;
  2510.     procedure Set_PrintDevices(retval: OleVariant); safecall;
  2511.     function Get_NetAddresses: OleVariant; safecall;
  2512.     procedure Set_NetAddresses(retval: OleVariant); safecall;
  2513.     property PrinterPath: WideString read Get_PrinterPath write Set_PrinterPath;
  2514.     property Model: WideString read Get_Model write Set_Model;
  2515.     property Datatype: WideString read Get_Datatype write Set_Datatype;
  2516.     property PrintProcessor: WideString read Get_PrintProcessor write Set_PrintProcessor;
  2517.     property Description: WideString read Get_Description write Set_Description;
  2518.     property Location: WideString read Get_Location write Set_Location;
  2519.     property StartTime: TDateTime read Get_StartTime write Set_StartTime;
  2520.     property UntilTime: TDateTime read Get_UntilTime write Set_UntilTime;
  2521.     property DefaultJobPriority: Integer read Get_DefaultJobPriority write Set_DefaultJobPriority;
  2522.     property Priority: Integer read Get_Priority write Set_Priority;
  2523.     property BannerPage: WideString read Get_BannerPage write Set_BannerPage;
  2524.     property PrintDevices: OleVariant read Get_PrintDevices write Set_PrintDevices;
  2525.     property NetAddresses: OleVariant read Get_NetAddresses write Set_NetAddresses;
  2526.   end;
  2527.  
  2528.   // *********************************************************************//
  2529.   // DispIntf:  IADsPrintQueueDisp
  2530.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2531.   // GUID:      {B15160D0-1226-11CF-A985-00AA006BC149}
  2532.   // *********************************************************************//
  2533.   IADsPrintQueueDisp = dispinterface
  2534.     ['{B15160D0-1226-11CF-A985-00AA006BC149}']
  2535.     property PrinterPath: WideString dispid 15;
  2536.     property Model: WideString dispid 16;
  2537.     property Datatype: WideString dispid 17;
  2538.     property PrintProcessor: WideString dispid 18;
  2539.     property Description: WideString dispid 19;
  2540.     property Location: WideString dispid 20;
  2541.     property StartTime: TDateTime dispid 21;
  2542.     property UntilTime: TDateTime dispid 22;
  2543.     property DefaultJobPriority: Integer dispid 23;
  2544.     property Priority: Integer dispid 24;
  2545.     property BannerPage: WideString dispid 25;
  2546.     property PrintDevices: OleVariant dispid 26;
  2547.     property NetAddresses: OleVariant dispid 27;
  2548.     property Name: WideString readonly dispid 2;
  2549.     property Class_: WideString readonly dispid 3;
  2550.     property GUID: WideString readonly dispid 4;
  2551.     property ADsPath: WideString readonly dispid 5;
  2552.     property Parent: WideString readonly dispid 6;
  2553.     property Schema: WideString readonly dispid 7;
  2554.     procedure GetInfo; dispid 8;
  2555.     procedure SetInfo; dispid 9;
  2556.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2557.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2558.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2559.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2560.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2561.   end;
  2562.  
  2563.   // *********************************************************************//
  2564.   // Interface: IADsPrintQueueOperations
  2565.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2566.   // GUID:      {124BE5C0-156E-11CF-A986-00AA006BC149}
  2567.   // *********************************************************************//
  2568.   IADsPrintQueueOperations = interface(IADs)
  2569.     ['{124BE5C0-156E-11CF-A986-00AA006BC149}']
  2570.     function Get_Status: Integer; safecall;
  2571.     function PrintJobs: IADsCollection; safecall;
  2572.     procedure Pause; safecall;
  2573.     procedure Resume; safecall;
  2574.     procedure Purge; safecall;
  2575.     property Status: Integer read Get_Status;
  2576.   end;
  2577.  
  2578.   // *********************************************************************//
  2579.   // DispIntf:  IADsPrintQueueOperationsDisp
  2580.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2581.   // GUID:      {124BE5C0-156E-11CF-A986-00AA006BC149}
  2582.   // *********************************************************************//
  2583.   IADsPrintQueueOperationsDisp = dispinterface
  2584.     ['{124BE5C0-156E-11CF-A986-00AA006BC149}']
  2585.     property Status: Integer readonly dispid 27;
  2586.     function PrintJobs: IADsCollection; dispid 28;
  2587.     procedure Pause; dispid 29;
  2588.     procedure Resume; dispid 30;
  2589.     procedure Purge; dispid 31;
  2590.     property Name: WideString readonly dispid 2;
  2591.     property Class_: WideString readonly dispid 3;
  2592.     property GUID: WideString readonly dispid 4;
  2593.     property ADsPath: WideString readonly dispid 5;
  2594.     property Parent: WideString readonly dispid 6;
  2595.     property Schema: WideString readonly dispid 7;
  2596.     procedure GetInfo; dispid 8;
  2597.     procedure SetInfo; dispid 9;
  2598.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2599.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2600.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2601.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2602.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2603.   end;
  2604.  
  2605.   // *********************************************************************//
  2606.   // Interface: IADsPrintJob
  2607.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2608.   // GUID:      {32FB6780-1ED0-11CF-A988-00AA006BC149}
  2609.   // *********************************************************************//
  2610.   IADsPrintJob = interface(IADs)
  2611.     ['{32FB6780-1ED0-11CF-A988-00AA006BC149}']
  2612.     function Get_HostPrintQueue: WideString; safecall;
  2613.     function Get_User: WideString; safecall;
  2614.     function Get_UserPath: WideString; safecall;
  2615.     function Get_TimeSubmitted: TDateTime; safecall;
  2616.     function Get_TotalPages: Integer; safecall;
  2617.     function Get_Size: Integer; safecall;
  2618.     function Get_Description: WideString; safecall;
  2619.     procedure Set_Description(const retval: WideString); safecall;
  2620.     function Get_Priority: Integer; safecall;
  2621.     procedure Set_Priority(retval: Integer); safecall;
  2622.     function Get_StartTime: TDateTime; safecall;
  2623.     procedure Set_StartTime(retval: TDateTime); safecall;
  2624.     function Get_UntilTime: TDateTime; safecall;
  2625.     procedure Set_UntilTime(retval: TDateTime); safecall;
  2626.     function Get_Notify: WideString; safecall;
  2627.     procedure Set_Notify(const retval: WideString); safecall;
  2628.     function Get_NotifyPath: WideString; safecall;
  2629.     procedure Set_NotifyPath(const retval: WideString); safecall;
  2630.     property HostPrintQueue: WideString read Get_HostPrintQueue;
  2631.     property User: WideString read Get_User;
  2632.     property UserPath: WideString read Get_UserPath;
  2633.     property TimeSubmitted: TDateTime read Get_TimeSubmitted;
  2634.     property TotalPages: Integer read Get_TotalPages;
  2635.     property Size: Integer read Get_Size;
  2636.     property Description: WideString read Get_Description write Set_Description;
  2637.     property Priority: Integer read Get_Priority write Set_Priority;
  2638.     property StartTime: TDateTime read Get_StartTime write Set_StartTime;
  2639.     property UntilTime: TDateTime read Get_UntilTime write Set_UntilTime;
  2640.     property Notify: WideString read Get_Notify write Set_Notify;
  2641.     property NotifyPath: WideString read Get_NotifyPath write Set_NotifyPath;
  2642.   end;
  2643.  
  2644.   // *********************************************************************//
  2645.   // DispIntf:  IADsPrintJobDisp
  2646.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2647.   // GUID:      {32FB6780-1ED0-11CF-A988-00AA006BC149}
  2648.   // *********************************************************************//
  2649.   IADsPrintJobDisp = dispinterface
  2650.     ['{32FB6780-1ED0-11CF-A988-00AA006BC149}']
  2651.     property HostPrintQueue: WideString readonly dispid 15;
  2652.     property User: WideString readonly dispid 16;
  2653.     property UserPath: WideString readonly dispid 17;
  2654.     property TimeSubmitted: TDateTime readonly dispid 18;
  2655.     property TotalPages: Integer readonly dispid 19;
  2656.     property Size: Integer readonly dispid 234;
  2657.     property Description: WideString dispid 20;
  2658.     property Priority: Integer dispid 21;
  2659.     property StartTime: TDateTime dispid 22;
  2660.     property UntilTime: TDateTime dispid 23;
  2661.     property Notify: WideString dispid 24;
  2662.     property NotifyPath: WideString dispid 25;
  2663.     property Name: WideString readonly dispid 2;
  2664.     property Class_: WideString readonly dispid 3;
  2665.     property GUID: WideString readonly dispid 4;
  2666.     property ADsPath: WideString readonly dispid 5;
  2667.     property Parent: WideString readonly dispid 6;
  2668.     property Schema: WideString readonly dispid 7;
  2669.     procedure GetInfo; dispid 8;
  2670.     procedure SetInfo; dispid 9;
  2671.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2672.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2673.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2674.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2675.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2676.   end;
  2677.  
  2678.   // *********************************************************************//
  2679.   // Interface: IADsPrintJobOperations
  2680.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2681.   // GUID:      {9A52DB30-1ECF-11CF-A988-00AA006BC149}
  2682.   // *********************************************************************//
  2683.   IADsPrintJobOperations = interface(IADs)
  2684.     ['{9A52DB30-1ECF-11CF-A988-00AA006BC149}']
  2685.     function Get_Status: Integer; safecall;
  2686.     function Get_TimeElapsed: Integer; safecall;
  2687.     function Get_PagesPrinted: Integer; safecall;
  2688.     function Get_Position: Integer; safecall;
  2689.     procedure Set_Position(retval: Integer); safecall;
  2690.     procedure Pause; safecall;
  2691.     procedure Resume; safecall;
  2692.     property Status: Integer read Get_Status;
  2693.     property TimeElapsed: Integer read Get_TimeElapsed;
  2694.     property PagesPrinted: Integer read Get_PagesPrinted;
  2695.     property Position: Integer read Get_Position write Set_Position;
  2696.   end;
  2697.  
  2698.   // *********************************************************************//
  2699.   // DispIntf:  IADsPrintJobOperationsDisp
  2700.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2701.   // GUID:      {9A52DB30-1ECF-11CF-A988-00AA006BC149}
  2702.   // *********************************************************************//
  2703.   IADsPrintJobOperationsDisp = dispinterface
  2704.     ['{9A52DB30-1ECF-11CF-A988-00AA006BC149}']
  2705.     property Status: Integer readonly dispid 26;
  2706.     property TimeElapsed: Integer readonly dispid 27;
  2707.     property PagesPrinted: Integer readonly dispid 28;
  2708.     property Position: Integer dispid 29;
  2709.     procedure Pause; dispid 30;
  2710.     procedure Resume; dispid 31;
  2711.     property Name: WideString readonly dispid 2;
  2712.     property Class_: WideString readonly dispid 3;
  2713.     property GUID: WideString readonly dispid 4;
  2714.     property ADsPath: WideString readonly dispid 5;
  2715.     property Parent: WideString readonly dispid 6;
  2716.     property Schema: WideString readonly dispid 7;
  2717.     procedure GetInfo; dispid 8;
  2718.     procedure SetInfo; dispid 9;
  2719.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2720.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2721.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2722.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2723.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2724.   end;
  2725.  
  2726.   // *********************************************************************//
  2727.   // Interface: IADsService
  2728.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2729.   // GUID:      {68AF66E0-31CA-11CF-A98A-00AA006BC149}
  2730.   // *********************************************************************//
  2731.   IADsService = interface(IADs)
  2732.     ['{68AF66E0-31CA-11CF-A98A-00AA006BC149}']
  2733.     function Get_HostComputer: WideString; safecall;
  2734.     procedure Set_HostComputer(const retval: WideString); safecall;
  2735.     function Get_DisplayName: WideString; safecall;
  2736.     procedure Set_DisplayName(const retval: WideString); safecall;
  2737.     function Get_Version: WideString; safecall;
  2738.     procedure Set_Version(const retval: WideString); safecall;
  2739.     function Get_ServiceType: Integer; safecall;
  2740.     procedure Set_ServiceType(retval: Integer); safecall;
  2741.     function Get_StartType: Integer; safecall;
  2742.     procedure Set_StartType(retval: Integer); safecall;
  2743.     function Get_Path: WideString; safecall;
  2744.     procedure Set_Path(const retval: WideString); safecall;
  2745.     function Get_StartupParameters: WideString; safecall;
  2746.     procedure Set_StartupParameters(const retval: WideString); safecall;
  2747.     function Get_ErrorControl: Integer; safecall;
  2748.     procedure Set_ErrorControl(retval: Integer); safecall;
  2749.     function Get_LoadOrderGroup: WideString; safecall;
  2750.     procedure Set_LoadOrderGroup(const retval: WideString); safecall;
  2751.     function Get_ServiceAccountName: WideString; safecall;
  2752.     procedure Set_ServiceAccountName(const retval: WideString); safecall;
  2753.     function Get_ServiceAccountPath: WideString; safecall;
  2754.     procedure Set_ServiceAccountPath(const retval: WideString); safecall;
  2755.     function Get_Dependencies: OleVariant; safecall;
  2756.     procedure Set_Dependencies(retval: OleVariant); safecall;
  2757.     property HostComputer: WideString read Get_HostComputer write Set_HostComputer;
  2758.     property DisplayName: WideString read Get_DisplayName write Set_DisplayName;
  2759.     property Version: WideString read Get_Version write Set_Version;
  2760.     property ServiceType: Integer read Get_ServiceType write Set_ServiceType;
  2761.     property StartType: Integer read Get_StartType write Set_StartType;
  2762.     property Path: WideString read Get_Path write Set_Path;
  2763.     property StartupParameters: WideString read Get_StartupParameters write Set_StartupParameters;
  2764.     property ErrorControl: Integer read Get_ErrorControl write Set_ErrorControl;
  2765.     property LoadOrderGroup: WideString read Get_LoadOrderGroup write Set_LoadOrderGroup;
  2766.     property ServiceAccountName: WideString read Get_ServiceAccountName write Set_ServiceAccountName;
  2767.     property ServiceAccountPath: WideString read Get_ServiceAccountPath write Set_ServiceAccountPath;
  2768.     property Dependencies: OleVariant read Get_Dependencies write Set_Dependencies;
  2769.   end;
  2770.  
  2771.   // *********************************************************************//
  2772.   // DispIntf:  IADsServiceDisp
  2773.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2774.   // GUID:      {68AF66E0-31CA-11CF-A98A-00AA006BC149}
  2775.   // *********************************************************************//
  2776.   IADsServiceDisp = dispinterface
  2777.     ['{68AF66E0-31CA-11CF-A98A-00AA006BC149}']
  2778.     property HostComputer: WideString dispid 15;
  2779.     property DisplayName: WideString dispid 16;
  2780.     property Version: WideString dispid 17;
  2781.     property ServiceType: Integer dispid 18;
  2782.     property StartType: Integer dispid 19;
  2783.     property Path: WideString dispid 20;
  2784.     property StartupParameters: WideString dispid 21;
  2785.     property ErrorControl: Integer dispid 22;
  2786.     property LoadOrderGroup: WideString dispid 23;
  2787.     property ServiceAccountName: WideString dispid 24;
  2788.     property ServiceAccountPath: WideString dispid 25;
  2789.     property Dependencies: OleVariant dispid 26;
  2790.     property Name: WideString readonly dispid 2;
  2791.     property Class_: WideString readonly dispid 3;
  2792.     property GUID: WideString readonly dispid 4;
  2793.     property ADsPath: WideString readonly dispid 5;
  2794.     property Parent: WideString readonly dispid 6;
  2795.     property Schema: WideString readonly dispid 7;
  2796.     procedure GetInfo; dispid 8;
  2797.     procedure SetInfo; dispid 9;
  2798.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2799.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2800.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2801.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2802.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2803.   end;
  2804.  
  2805.   // *********************************************************************//
  2806.   // Interface: IADsServiceOperations
  2807.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2808.   // GUID:      {5D7B33F0-31CA-11CF-A98A-00AA006BC149}
  2809.   // *********************************************************************//
  2810.   IADsServiceOperations = interface(IADs)
  2811.     ['{5D7B33F0-31CA-11CF-A98A-00AA006BC149}']
  2812.     function Get_Status: Integer; safecall;
  2813.     procedure Start; safecall;
  2814.     procedure Stop; safecall;
  2815.     procedure Pause; safecall;
  2816.     procedure Continue; safecall;
  2817.     procedure SetPassword(const bstrNewPassword: WideString); safecall;
  2818.     property Status: Integer read Get_Status;
  2819.   end;
  2820.  
  2821.   // *********************************************************************//
  2822.   // DispIntf:  IADsServiceOperationsDisp
  2823.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2824.   // GUID:      {5D7B33F0-31CA-11CF-A98A-00AA006BC149}
  2825.   // *********************************************************************//
  2826.   IADsServiceOperationsDisp = dispinterface
  2827.     ['{5D7B33F0-31CA-11CF-A98A-00AA006BC149}']
  2828.     property Status: Integer readonly dispid 27;
  2829.     procedure Start; dispid 28;
  2830.     procedure Stop; dispid 29;
  2831.     procedure Pause; dispid 30;
  2832.     procedure Continue; dispid 31;
  2833.     procedure SetPassword(const bstrNewPassword: WideString); dispid 32;
  2834.     property Name: WideString readonly dispid 2;
  2835.     property Class_: WideString readonly dispid 3;
  2836.     property GUID: WideString readonly dispid 4;
  2837.     property ADsPath: WideString readonly dispid 5;
  2838.     property Parent: WideString readonly dispid 6;
  2839.     property Schema: WideString readonly dispid 7;
  2840.     procedure GetInfo; dispid 8;
  2841.     procedure SetInfo; dispid 9;
  2842.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2843.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2844.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2845.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2846.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2847.   end;
  2848.  
  2849.   // *********************************************************************//
  2850.   // Interface: IADsFileService
  2851.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2852.   // GUID:      {A89D1900-31CA-11CF-A98A-00AA006BC149}
  2853.   // *********************************************************************//
  2854.   IADsFileService = interface(IADsService)
  2855.     ['{A89D1900-31CA-11CF-A98A-00AA006BC149}']
  2856.     function Get_Description: WideString; safecall;
  2857.     procedure Set_Description(const retval: WideString); safecall;
  2858.     function Get_MaxUserCount: Integer; safecall;
  2859.     procedure Set_MaxUserCount(retval: Integer); safecall;
  2860.     property Description: WideString read Get_Description write Set_Description;
  2861.     property MaxUserCount: Integer read Get_MaxUserCount write Set_MaxUserCount;
  2862.   end;
  2863.  
  2864.   // *********************************************************************//
  2865.   // DispIntf:  IADsFileServiceDisp
  2866.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2867.   // GUID:      {A89D1900-31CA-11CF-A98A-00AA006BC149}
  2868.   // *********************************************************************//
  2869.   IADsFileServiceDisp = dispinterface
  2870.     ['{A89D1900-31CA-11CF-A98A-00AA006BC149}']
  2871.     property Description: WideString dispid 33;
  2872.     property MaxUserCount: Integer dispid 34;
  2873.     property HostComputer: WideString dispid 15;
  2874.     property DisplayName: WideString dispid 16;
  2875.     property Version: WideString dispid 17;
  2876.     property ServiceType: Integer dispid 18;
  2877.     property StartType: Integer dispid 19;
  2878.     property Path: WideString dispid 20;
  2879.     property StartupParameters: WideString dispid 21;
  2880.     property ErrorControl: Integer dispid 22;
  2881.     property LoadOrderGroup: WideString dispid 23;
  2882.     property ServiceAccountName: WideString dispid 24;
  2883.     property ServiceAccountPath: WideString dispid 25;
  2884.     property Dependencies: OleVariant dispid 26;
  2885.     property Name: WideString readonly dispid 2;
  2886.     property Class_: WideString readonly dispid 3;
  2887.     property GUID: WideString readonly dispid 4;
  2888.     property ADsPath: WideString readonly dispid 5;
  2889.     property Parent: WideString readonly dispid 6;
  2890.     property Schema: WideString readonly dispid 7;
  2891.     procedure GetInfo; dispid 8;
  2892.     procedure SetInfo; dispid 9;
  2893.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2894.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2895.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2896.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2897.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2898.   end;
  2899.  
  2900.   // *********************************************************************//
  2901.   // Interface: IADsFileServiceOperations
  2902.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2903.   // GUID:      {A02DED10-31CA-11CF-A98A-00AA006BC149}
  2904.   // *********************************************************************//
  2905.   IADsFileServiceOperations = interface(IADsServiceOperations)
  2906.     ['{A02DED10-31CA-11CF-A98A-00AA006BC149}']
  2907.     function Sessions: IADsCollection; safecall;
  2908.     function Resources: IADsCollection; safecall;
  2909.   end;
  2910.  
  2911.   // *********************************************************************//
  2912.   // DispIntf:  IADsFileServiceOperationsDisp
  2913.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2914.   // GUID:      {A02DED10-31CA-11CF-A98A-00AA006BC149}
  2915.   // *********************************************************************//
  2916.   IADsFileServiceOperationsDisp = dispinterface
  2917.     ['{A02DED10-31CA-11CF-A98A-00AA006BC149}']
  2918.     function Sessions: IADsCollection; dispid 35;
  2919.     function Resources: IADsCollection; dispid 36;
  2920.     property Status: Integer readonly dispid 27;
  2921.     procedure Start; dispid 28;
  2922.     procedure Stop; dispid 29;
  2923.     procedure Pause; dispid 30;
  2924.     procedure Continue; dispid 31;
  2925.     procedure SetPassword(const bstrNewPassword: WideString); dispid 32;
  2926.     property Name: WideString readonly dispid 2;
  2927.     property Class_: WideString readonly dispid 3;
  2928.     property GUID: WideString readonly dispid 4;
  2929.     property ADsPath: WideString readonly dispid 5;
  2930.     property Parent: WideString readonly dispid 6;
  2931.     property Schema: WideString readonly dispid 7;
  2932.     procedure GetInfo; dispid 8;
  2933.     procedure SetInfo; dispid 9;
  2934.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2935.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2936.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2937.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2938.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2939.   end;
  2940.  
  2941.   // *********************************************************************//
  2942.   // Interface: IADsFileShare
  2943.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2944.   // GUID:      {EB6DCAF0-4B83-11CF-A995-00AA006BC149}
  2945.   // *********************************************************************//
  2946.   IADsFileShare = interface(IADs)
  2947.     ['{EB6DCAF0-4B83-11CF-A995-00AA006BC149}']
  2948.     function Get_CurrentUserCount: Integer; safecall;
  2949.     function Get_Description: WideString; safecall;
  2950.     procedure Set_Description(const retval: WideString); safecall;
  2951.     function Get_HostComputer: WideString; safecall;
  2952.     procedure Set_HostComputer(const retval: WideString); safecall;
  2953.     function Get_Path: WideString; safecall;
  2954.     procedure Set_Path(const retval: WideString); safecall;
  2955.     function Get_MaxUserCount: Integer; safecall;
  2956.     procedure Set_MaxUserCount(retval: Integer); safecall;
  2957.     property CurrentUserCount: Integer read Get_CurrentUserCount;
  2958.     property Description: WideString read Get_Description write Set_Description;
  2959.     property HostComputer: WideString read Get_HostComputer write Set_HostComputer;
  2960.     property Path: WideString read Get_Path write Set_Path;
  2961.     property MaxUserCount: Integer read Get_MaxUserCount write Set_MaxUserCount;
  2962.   end;
  2963.  
  2964.   // *********************************************************************//
  2965.   // DispIntf:  IADsFileShareDisp
  2966.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2967.   // GUID:      {EB6DCAF0-4B83-11CF-A995-00AA006BC149}
  2968.   // *********************************************************************//
  2969.   IADsFileShareDisp = dispinterface
  2970.     ['{EB6DCAF0-4B83-11CF-A995-00AA006BC149}']
  2971.     property CurrentUserCount: Integer readonly dispid 15;
  2972.     property Description: WideString dispid 16;
  2973.     property HostComputer: WideString dispid 17;
  2974.     property Path: WideString dispid 18;
  2975.     property MaxUserCount: Integer dispid 19;
  2976.     property Name: WideString readonly dispid 2;
  2977.     property Class_: WideString readonly dispid 3;
  2978.     property GUID: WideString readonly dispid 4;
  2979.     property ADsPath: WideString readonly dispid 5;
  2980.     property Parent: WideString readonly dispid 6;
  2981.     property Schema: WideString readonly dispid 7;
  2982.     procedure GetInfo; dispid 8;
  2983.     procedure SetInfo; dispid 9;
  2984.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  2985.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2986.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2987.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2988.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2989.   end;
  2990.  
  2991.   // *********************************************************************//
  2992.   // Interface: IADsSession
  2993.   // Flags:     (4416) Dual OleAutomation Dispatchable
  2994.   // GUID:      {398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}
  2995.   // *********************************************************************//
  2996.   IADsSession = interface(IADs)
  2997.     ['{398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}']
  2998.     function Get_User: WideString; safecall;
  2999.     function Get_UserPath: WideString; safecall;
  3000.     function Get_Computer: WideString; safecall;
  3001.     function Get_ComputerPath: WideString; safecall;
  3002.     function Get_ConnectTime: Integer; safecall;
  3003.     function Get_IdleTime: Integer; safecall;
  3004.     property User: WideString read Get_User;
  3005.     property UserPath: WideString read Get_UserPath;
  3006.     property Computer: WideString read Get_Computer;
  3007.     property ComputerPath: WideString read Get_ComputerPath;
  3008.     property ConnectTime: Integer read Get_ConnectTime;
  3009.     property IdleTime: Integer read Get_IdleTime;
  3010.   end;
  3011.  
  3012.   // *********************************************************************//
  3013.   // DispIntf:  IADsSessionDisp
  3014.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3015.   // GUID:      {398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}
  3016.   // *********************************************************************//
  3017.   IADsSessionDisp = dispinterface
  3018.     ['{398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}']
  3019.     property User: WideString readonly dispid 15;
  3020.     property UserPath: WideString readonly dispid 16;
  3021.     property Computer: WideString readonly dispid 17;
  3022.     property ComputerPath: WideString readonly dispid 18;
  3023.     property ConnectTime: Integer readonly dispid 19;
  3024.     property IdleTime: Integer readonly dispid 20;
  3025.     property Name: WideString readonly dispid 2;
  3026.     property Class_: WideString readonly dispid 3;
  3027.     property GUID: WideString readonly dispid 4;
  3028.     property ADsPath: WideString readonly dispid 5;
  3029.     property Parent: WideString readonly dispid 6;
  3030.     property Schema: WideString readonly dispid 7;
  3031.     procedure GetInfo; dispid 8;
  3032.     procedure SetInfo; dispid 9;
  3033.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  3034.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  3035.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  3036.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  3037.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  3038.   end;
  3039.  
  3040.   // *********************************************************************//
  3041.   // Interface: IADsResource
  3042.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3043.   // GUID:      {34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}
  3044.   // *********************************************************************//
  3045.   IADsResource = interface(IADs)
  3046.     ['{34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}']
  3047.     function Get_User: WideString; safecall;
  3048.     function Get_UserPath: WideString; safecall;
  3049.     function Get_Path: WideString; safecall;
  3050.     function Get_LockCount: Integer; safecall;
  3051.     property User: WideString read Get_User;
  3052.     property UserPath: WideString read Get_UserPath;
  3053.     property Path: WideString read Get_Path;
  3054.     property LockCount: Integer read Get_LockCount;
  3055.   end;
  3056.  
  3057.   // *********************************************************************//
  3058.   // DispIntf:  IADsResourceDisp
  3059.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3060.   // GUID:      {34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}
  3061.   // *********************************************************************//
  3062.   IADsResourceDisp = dispinterface
  3063.     ['{34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}']
  3064.     property User: WideString readonly dispid 15;
  3065.     property UserPath: WideString readonly dispid 16;
  3066.     property Path: WideString readonly dispid 17;
  3067.     property LockCount: Integer readonly dispid 18;
  3068.     property Name: WideString readonly dispid 2;
  3069.     property Class_: WideString readonly dispid 3;
  3070.     property GUID: WideString readonly dispid 4;
  3071.     property ADsPath: WideString readonly dispid 5;
  3072.     property Parent: WideString readonly dispid 6;
  3073.     property Schema: WideString readonly dispid 7;
  3074.     procedure GetInfo; dispid 8;
  3075.     procedure SetInfo; dispid 9;
  3076.     function Get(const bstrName: WideString): OleVariant; dispid 10;
  3077.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  3078.     function GetEx(const bstrName: WideString): OleVariant; dispid 12;
  3079.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  3080.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  3081.   end;
  3082.  
  3083.   // *********************************************************************//
  3084.   // Interface: IADsOpenDSObject
  3085.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3086.   // GUID:      {DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}
  3087.   // *********************************************************************//
  3088.   IADsOpenDSObject = interface(IDispatch)
  3089.     ['{DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}']
  3090.     function OpenDSObject(const lpszDNName: WideString; const lpszUserName: WideString;
  3091.       const lpszPassword: WideString; lnReserved: Integer): IDispatch; safecall;
  3092.   end;
  3093.  
  3094.   // *********************************************************************//
  3095.   // DispIntf:  IADsOpenDSObjectDisp
  3096.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3097.   // GUID:      {DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}
  3098.   // *********************************************************************//
  3099.   IADsOpenDSObjectDisp = dispinterface
  3100.     ['{DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}']
  3101.     function OpenDSObject(const lpszDNName: WideString; const lpszUserName: WideString;
  3102.       const lpszPassword: WideString; lnReserved: Integer): IDispatch; dispid 1;
  3103.   end;
  3104.  
  3105.   // *********************************************************************//
  3106.   // Interface: IDirectoryObject
  3107.   // Flags:     (0)
  3108.   // GUID:      {E798DE2C-22E4-11D0-84FE-00C04FD8D503}
  3109.   // *********************************************************************//
  3110.   IDirectoryObject = interface(IUnknown)
  3111.     ['{E798DE2C-22E4-11D0-84FE-00C04FD8D503}']
  3112.     function GetObjectInformation(out ppObjInfo: PUserType11): HResult; stdcall;
  3113.     function GetObjectAttributes(var pAttributeNames: PWideChar; dwNumberAttributes: LongWord;
  3114.       out ppAttributeEntries: PUserType12;
  3115.       out pdwNumAttributesReturned: LongWord): HResult; stdcall;
  3116.     function SetObjectAttributes(var pAttributeEntries: TGUID; dwNumAttributes: LongWord;
  3117.       out pdwNumAttributesModified: LongWord): HResult; stdcall;
  3118.     function CreateDSObject(pszRDNName: PWideChar; var pAttributeEntries: TGUID;
  3119.       dwNumAttributes: LongWord; out ppObject: IDispatch): HResult; stdcall;
  3120.     function DeleteDSObject(pszRDNName: PWideChar): HResult; stdcall;
  3121.   end;
  3122.  
  3123.   // *********************************************************************//
  3124.   // Interface: IDirectorySearch
  3125.   // Flags:     (0)
  3126.   // GUID:      {109BA8EC-92F0-11D0-A790-00C04FD8D5A8}
  3127.   // *********************************************************************//
  3128.   IDirectorySearch = interface(IUnknown)
  3129.     ['{109BA8EC-92F0-11D0-A790-00C04FD8D5A8}']
  3130.     function SetSearchPreference(pSearchPrefs: pointer; // ads_searchpref_info;
  3131.       dwNumPrefs: LongWord): HResult; stdcall;
  3132.  
  3133.     function ExecuteSearch(pszSearchFilter: PWideChar;
  3134.       pAttributeNames: pointer;
  3135.       dwNumberAttributes: LongWord;
  3136.       out phSearchResult: ADS_SEARCH_HANDLE): HResult; stdcall;
  3137.  
  3138.     function AbandonSearch(hSearchHandle: ADS_SEARCH_HANDLE): HResult; stdcall;
  3139.  
  3140.     function GetFirstRow(hSearchHandle: ADS_SEARCH_HANDLE): HResult; stdcall;
  3141.  
  3142.     function GetNextRow(hSearchHandle: ADS_SEARCH_HANDLE): HResult; stdcall;
  3143.  
  3144.     function GetPreviousRow(hSearchHandle: ADS_SEARCH_HANDLE): HResult; stdcall;
  3145.  
  3146.     function GetNextColumnName(hSearchHandle: ADS_SEARCH_HANDLE;
  3147.       out ppszColumnName: PWideChar): HResult; stdcall;
  3148.  
  3149.     function GetColumn(hSearchHandle: ADS_SEARCH_HANDLE;
  3150.       szColumnName: PWideChar;
  3151.       const pSearchColumn: ADS_SEARCH_COLUMN): HResult; stdcall;
  3152.  
  3153.     function FreeColumn(const pSearchColumn: ADS_SEARCH_COLUMN): HResult; stdcall;
  3154.  
  3155.     function CloseSearchHandle(hSearchHandle: ADS_SEARCH_HANDLE): HResult; stdcall;
  3156.   end;
  3157.  
  3158.   // *********************************************************************//
  3159.   // Interface: IDirectorySchemaMgmt
  3160.   // Flags:     (0)
  3161.   // GUID:      {75DB3B9C-A4D8-11D0-A79C-00C04FD8D5A8}
  3162.   // *********************************************************************//
  3163.   IDirectorySchemaMgmt = interface(IUnknown)
  3164.     ['{75DB3B9C-A4D8-11D0-A79C-00C04FD8D5A8}']
  3165.     function EnumAttributes(var ppszAttrNames: PWideChar; dwNumAttributes: LongWord;
  3166.       ppAttrDefinition: PPUserType1; var pdwNumAttributes: LongWord): HResult; stdcall;
  3167.     function CreateAttributeDefinition(pszAttributeName: PWideChar; var pAttributeDefinition: TGUID): HResult; stdcall;
  3168.     function WriteAttributeDefinition(pszAttributeName: PWideChar; var pAttributeDefinition: TGUID): HResult; stdcall;
  3169.     function DeleteAttributeDefinition(pszAttributeName: PWideChar): HResult; stdcall;
  3170.     function EnumClasses(var ppszClassNames: PWideChar; dwNumClasses: LongWord;
  3171.       ppClassDefinition: PPUserType2; var pdwNumClasses: LongWord): HResult; stdcall;
  3172.     function WriteClassDefinition(pszClassName: PWideChar; var pClassDefinition: TGUID): HResult; stdcall;
  3173.     function CreateClassDefinition(pszClassName: PWideChar; var pClassDefinition: TGUID): HResult; stdcall;
  3174.     function DeleteClassDefinition(pszClassName: PWideChar): HResult; stdcall;
  3175.   end;
  3176.  
  3177.   // *********************************************************************//
  3178.   // Interface: IADsAggregatee
  3179.   // Flags:     (0)
  3180.   // GUID:      {1346CE8C-9039-11D0-8528-00C04FD8D503}
  3181.   // *********************************************************************//
  3182.   IADsAggregatee = interface(IUnknown)
  3183.     ['{1346CE8C-9039-11D0-8528-00C04FD8D503}']
  3184.     function ConnectAsAggregatee(const pOuterUnknown: IUnknown): HResult; stdcall;
  3185.     function DisconnectAsAggregatee: HResult; stdcall;
  3186.     function RelinquishInterface(var riid: TGUID): HResult; stdcall;
  3187.     function RestoreInterface(var riid: TGUID): HResult; stdcall;
  3188.   end;
  3189.  
  3190.   // *********************************************************************//
  3191.   // Interface: IADsAggregator
  3192.   // Flags:     (0)
  3193.   // GUID:      {52DB5FB0-941F-11D0-8529-00C04FD8D503}
  3194.   // *********************************************************************//
  3195.   IADsAggregator = interface(IUnknown)
  3196.     ['{52DB5FB0-941F-11D0-8529-00C04FD8D503}']
  3197.     function ConnectAsAggregator(const pAggregatee: IUnknown): HResult; stdcall;
  3198.     function DisconnectAsAggregator: HResult; stdcall;
  3199.   end;
  3200.  
  3201.   // *********************************************************************//
  3202.   // Interface: IADsAccessControlEntry
  3203.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3204.   // GUID:      {B4F3A14C-9BDD-11D0-852C-00C04FD8D503}
  3205.   // *********************************************************************//
  3206.   IADsAccessControlEntry = interface(IDispatch)
  3207.     ['{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}']
  3208.     function Get_AccessMask: Integer; safecall;
  3209.     procedure Set_AccessMask(retval: Integer); safecall;
  3210.     function Get_AceType: Integer; safecall;
  3211.     procedure Set_AceType(retval: Integer); safecall;
  3212.     function Get_AceFlags: Integer; safecall;
  3213.     procedure Set_AceFlags(retval: Integer); safecall;
  3214.     function Get_Flags: Integer; safecall;
  3215.     procedure Set_Flags(retval: Integer); safecall;
  3216.     function Get_ObjectType: WideString; safecall;
  3217.     procedure Set_ObjectType(const retval: WideString); safecall;
  3218.     function Get_InheritedObjectType: WideString; safecall;
  3219.     procedure Set_InheritedObjectType(const retval: WideString); safecall;
  3220.     function Get_Trustee: WideString; safecall;
  3221.     procedure Set_Trustee(const retval: WideString); safecall;
  3222.     property AccessMask: Integer read Get_AccessMask write Set_AccessMask;
  3223.     property AceType: Integer read Get_AceType write Set_AceType;
  3224.     property AceFlags: Integer read Get_AceFlags write Set_AceFlags;
  3225.     property Flags: Integer read Get_Flags write Set_Flags;
  3226.     property ObjectType: WideString read Get_ObjectType write Set_ObjectType;
  3227.     property InheritedObjectType: WideString read Get_InheritedObjectType write Set_InheritedObjectType;
  3228.     property Trustee: WideString read Get_Trustee write Set_Trustee;
  3229.   end;
  3230.  
  3231.   // *********************************************************************//
  3232.   // DispIntf:  IADsAccessControlEntryDisp
  3233.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3234.   // GUID:      {B4F3A14C-9BDD-11D0-852C-00C04FD8D503}
  3235.   // *********************************************************************//
  3236.   IADsAccessControlEntryDisp = dispinterface
  3237.     ['{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}']
  3238.     property AccessMask: Integer dispid 2;
  3239.     property AceType: Integer dispid 3;
  3240.     property AceFlags: Integer dispid 4;
  3241.     property Flags: Integer dispid 5;
  3242.     property ObjectType: WideString dispid 6;
  3243.     property InheritedObjectType: WideString dispid 7;
  3244.     property Trustee: WideString dispid 8;
  3245.   end;
  3246.  
  3247.   // *********************************************************************//
  3248.   // Interface: IADsAccessControlList
  3249.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3250.   // GUID:      {B7EE91CC-9BDD-11D0-852C-00C04FD8D503}
  3251.   // *********************************************************************//
  3252.   IADsAccessControlList = interface(IDispatch)
  3253.     ['{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}']
  3254.     function Get_AclRevision: Integer; safecall;
  3255.     procedure Set_AclRevision(retval: Integer); safecall;
  3256.     function Get_AceCount: Integer; safecall;
  3257.     procedure Set_AceCount(retval: Integer); safecall;
  3258.     procedure AddAce(const pAccessControlEntry: IDispatch); safecall;
  3259.     procedure RemoveAce(const pAccessControlEntry: IDispatch); safecall;
  3260.     function CopyAccessList: IDispatch; safecall;
  3261.     function Get__NewEnum: IUnknown; safecall;
  3262.     property AclRevision: Integer read Get_AclRevision write Set_AclRevision;
  3263.     property AceCount: Integer read Get_AceCount write Set_AceCount;
  3264.     property _NewEnum: IUnknown read Get__NewEnum;
  3265.   end;
  3266.  
  3267.   // *********************************************************************//
  3268.   // DispIntf:  IADsAccessControlListDisp
  3269.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3270.   // GUID:      {B7EE91CC-9BDD-11D0-852C-00C04FD8D503}
  3271.   // *********************************************************************//
  3272.   IADsAccessControlListDisp = dispinterface
  3273.     ['{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}']
  3274.     property AclRevision: Integer dispid 3;
  3275.     property AceCount: Integer dispid 4;
  3276.     procedure AddAce(const pAccessControlEntry: IDispatch); dispid 5;
  3277.     procedure RemoveAce(const pAccessControlEntry: IDispatch); dispid 6;
  3278.     function CopyAccessList: IDispatch; dispid 7;
  3279.     property _NewEnum: IUnknown readonly dispid - 4;
  3280.   end;
  3281.  
  3282.   // *********************************************************************//
  3283.   // Interface: IADsSecurityDescriptor
  3284.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3285.   // GUID:      {B8C787CA-9BDD-11D0-852C-00C04FD8D503}
  3286.   // *********************************************************************//
  3287.   IADsSecurityDescriptor = interface(IDispatch)
  3288.     ['{B8C787CA-9BDD-11D0-852C-00C04FD8D503}']
  3289.     function Get_Revision: Integer; safecall;
  3290.     procedure Set_Revision(retval: Integer); safecall;
  3291.     function Get_Control: Integer; safecall;
  3292.     procedure Set_Control(retval: Integer); safecall;
  3293.     function Get_Owner: WideString; safecall;
  3294.     procedure Set_Owner(const retval: WideString); safecall;
  3295.     function Get_OwnerDefaulted: WordBool; safecall;
  3296.     procedure Set_OwnerDefaulted(retval: WordBool); safecall;
  3297.     function Get_Group: WideString; safecall;
  3298.     procedure Set_Group(const retval: WideString); safecall;
  3299.     function Get_GroupDefaulted: WordBool; safecall;
  3300.     procedure Set_GroupDefaulted(retval: WordBool); safecall;
  3301.     function Get_DiscretionaryAcl: IDispatch; safecall;
  3302.     procedure Set_DiscretionaryAcl(const retval: IDispatch); safecall;
  3303.     function Get_DaclDefaulted: WordBool; safecall;
  3304.     procedure Set_DaclDefaulted(retval: WordBool); safecall;
  3305.     function Get_SystemAcl: IDispatch; safecall;
  3306.     procedure Set_SystemAcl(const retval: IDispatch); safecall;
  3307.     function Get_SaclDefaulted: WordBool; safecall;
  3308.     procedure Set_SaclDefaulted(retval: WordBool); safecall;
  3309.     function CopySecurityDescriptor: IDispatch; safecall;
  3310.     property Revision: Integer read Get_Revision write Set_Revision;
  3311.     property Control: Integer read Get_Control write Set_Control;
  3312.     property Owner: WideString read Get_Owner write Set_Owner;
  3313.     property OwnerDefaulted: WordBool read Get_OwnerDefaulted write Set_OwnerDefaulted;
  3314.     property Group: WideString read Get_Group write Set_Group;
  3315.     property GroupDefaulted: WordBool read Get_GroupDefaulted write Set_GroupDefaulted;
  3316.     property DiscretionaryAcl: IDispatch read Get_DiscretionaryAcl write Set_DiscretionaryAcl;
  3317.     property DaclDefaulted: WordBool read Get_DaclDefaulted write Set_DaclDefaulted;
  3318.     property SystemAcl: IDispatch read Get_SystemAcl write Set_SystemAcl;
  3319.     property SaclDefaulted: WordBool read Get_SaclDefaulted write Set_SaclDefaulted;
  3320.   end;
  3321.  
  3322.   // *********************************************************************//
  3323.   // DispIntf:  IADsSecurityDescriptorDisp
  3324.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3325.   // GUID:      {B8C787CA-9BDD-11D0-852C-00C04FD8D503}
  3326.   // *********************************************************************//
  3327.   IADsSecurityDescriptorDisp = dispinterface
  3328.     ['{B8C787CA-9BDD-11D0-852C-00C04FD8D503}']
  3329.     property Revision: Integer dispid 2;
  3330.     property Control: Integer dispid 3;
  3331.     property Owner: WideString dispid 4;
  3332.     property OwnerDefaulted: WordBool dispid 5;
  3333.     property Group: WideString dispid 6;
  3334.     property GroupDefaulted: WordBool dispid 7;
  3335.     property DiscretionaryAcl: IDispatch dispid 8;
  3336.     property DaclDefaulted: WordBool dispid 9;
  3337.     property SystemAcl: IDispatch dispid 10;
  3338.     property SaclDefaulted: WordBool dispid 11;
  3339.     function CopySecurityDescriptor: IDispatch; dispid 12;
  3340.   end;
  3341.  
  3342.   // *********************************************************************//
  3343.   // Interface: IADsLargeInteger
  3344.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3345.   // GUID:      {9068270B-0939-11D1-8BE1-00C04FD8D503}
  3346.   // *********************************************************************//
  3347.   IADsLargeInteger = interface(IDispatch)
  3348.     ['{9068270B-0939-11D1-8BE1-00C04FD8D503}']
  3349.     function Get_HighPart: Integer; safecall;
  3350.     procedure Set_HighPart(retval: Integer); safecall;
  3351.     function Get_LowPart: Integer; safecall;
  3352.     procedure Set_LowPart(retval: Integer); safecall;
  3353.     property HighPart: Integer read Get_HighPart write Set_HighPart;
  3354.     property LowPart: Integer read Get_LowPart write Set_LowPart;
  3355.   end;
  3356.  
  3357.   // *********************************************************************//
  3358.   // DispIntf:  IADsLargeIntegerDisp
  3359.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3360.   // GUID:      {9068270B-0939-11D1-8BE1-00C04FD8D503}
  3361.   // *********************************************************************//
  3362.   IADsLargeIntegerDisp = dispinterface
  3363.     ['{9068270B-0939-11D1-8BE1-00C04FD8D503}']
  3364.     property HighPart: Integer dispid 2;
  3365.     property LowPart: Integer dispid 3;
  3366.   end;
  3367.  
  3368.   // *********************************************************************//
  3369.   // Interface: IADsNameTranslate
  3370.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3371.   // GUID:      {B1B272A3-3625-11D1-A3A4-00C04FB950DC}
  3372.   // *********************************************************************//
  3373.   IADsNameTranslate = interface(IDispatch)
  3374.     ['{B1B272A3-3625-11D1-A3A4-00C04FB950DC}']
  3375.     procedure Set_ChaseReferral(Param1: Integer); safecall;
  3376.     procedure Init(lnSetType: Integer; const bstrADsPath: WideString); safecall;
  3377.     procedure InitEx(lnSetType: Integer; const bstrADsPath: WideString;
  3378.       const bstrUserID: WideString; const bstrDomain: WideString;
  3379.       const bstrPassword: WideString); safecall;
  3380.     procedure Set_(lnSetType: Integer; const bstrADsPath: WideString); safecall;
  3381.     function Get(lnFormatType: Integer): WideString; safecall;
  3382.     procedure SetEx(lnFormatType: Integer; pVar: OleVariant); safecall;
  3383.     function GetEx(lnFormatType: Integer): OleVariant; safecall;
  3384.     property ChaseReferral: Integer write Set_ChaseReferral;
  3385.   end;
  3386.  
  3387.   // *********************************************************************//
  3388.   // DispIntf:  IADsNameTranslateDisp
  3389.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3390.   // GUID:      {B1B272A3-3625-11D1-A3A4-00C04FB950DC}
  3391.   // *********************************************************************//
  3392.   IADsNameTranslateDisp = dispinterface
  3393.     ['{B1B272A3-3625-11D1-A3A4-00C04FB950DC}']
  3394.     property ChaseReferral: Integer writeonly dispid 1;
  3395.     procedure Init(lnSetType: Integer; const bstrADsPath: WideString); dispid 2;
  3396.     procedure InitEx(lnSetType: Integer; const bstrADsPath: WideString;
  3397.       const bstrUserID: WideString; const bstrDomain: WideString;
  3398.       const bstrPassword: WideString); dispid 3;
  3399.     procedure Set_(lnSetType: Integer; const bstrADsPath: WideString); dispid 4;
  3400.     function Get(lnFormatType: Integer): WideString; dispid 5;
  3401.     procedure SetEx(lnFormatType: Integer; pVar: OleVariant); dispid 6;
  3402.     function GetEx(lnFormatType: Integer): OleVariant; dispid 7;
  3403.   end;
  3404.  
  3405.   // *********************************************************************//
  3406.   // Interface: IADsCaseIgnoreList
  3407.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3408.   // GUID:      {7B66B533-4680-11D1-A3B4-00C04FB950DC}
  3409.   // *********************************************************************//
  3410.   IADsCaseIgnoreList = interface(IDispatch)
  3411.     ['{7B66B533-4680-11D1-A3B4-00C04FB950DC}']
  3412.     function Get_CaseIgnoreList: OleVariant; safecall;
  3413.     procedure Set_CaseIgnoreList(retval: OleVariant); safecall;
  3414.     property CaseIgnoreList: OleVariant read Get_CaseIgnoreList write Set_CaseIgnoreList;
  3415.   end;
  3416.  
  3417.   // *********************************************************************//
  3418.   // DispIntf:  IADsCaseIgnoreListDisp
  3419.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3420.   // GUID:      {7B66B533-4680-11D1-A3B4-00C04FB950DC}
  3421.   // *********************************************************************//
  3422.   IADsCaseIgnoreListDisp = dispinterface
  3423.     ['{7B66B533-4680-11D1-A3B4-00C04FB950DC}']
  3424.     property CaseIgnoreList: OleVariant dispid 2;
  3425.   end;
  3426.  
  3427.   // *********************************************************************//
  3428.   // Interface: IADsFaxNumber
  3429.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3430.   // GUID:      {A910DEA9-4680-11D1-A3B4-00C04FB950DC}
  3431.   // *********************************************************************//
  3432.   IADsFaxNumber = interface(IDispatch)
  3433.     ['{A910DEA9-4680-11D1-A3B4-00C04FB950DC}']
  3434.     function Get_TelephoneNumber: WideString; safecall;
  3435.     procedure Set_TelephoneNumber(const retval: WideString); safecall;
  3436.     function Get_Parameters: OleVariant; safecall;
  3437.     procedure Set_Parameters(retval: OleVariant); safecall;
  3438.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  3439.     property Parameters: OleVariant read Get_Parameters write Set_Parameters;
  3440.   end;
  3441.  
  3442.   // *********************************************************************//
  3443.   // DispIntf:  IADsFaxNumberDisp
  3444.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3445.   // GUID:      {A910DEA9-4680-11D1-A3B4-00C04FB950DC}
  3446.   // *********************************************************************//
  3447.   IADsFaxNumberDisp = dispinterface
  3448.     ['{A910DEA9-4680-11D1-A3B4-00C04FB950DC}']
  3449.     property TelephoneNumber: WideString dispid 2;
  3450.     property Parameters: OleVariant dispid 3;
  3451.   end;
  3452.  
  3453.   // *********************************************************************//
  3454.   // Interface: IADsNetAddress
  3455.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3456.   // GUID:      {B21A50A9-4080-11D1-A3AC-00C04FB950DC}
  3457.   // *********************************************************************//
  3458.   IADsNetAddress = interface(IDispatch)
  3459.     ['{B21A50A9-4080-11D1-A3AC-00C04FB950DC}']
  3460.     function Get_AddressType: Integer; safecall;
  3461.     procedure Set_AddressType(retval: Integer); safecall;
  3462.     function Get_Address: OleVariant; safecall;
  3463.     procedure Set_Address(retval: OleVariant); safecall;
  3464.     property AddressType: Integer read Get_AddressType write Set_AddressType;
  3465.     property Address: OleVariant read Get_Address write Set_Address;
  3466.   end;
  3467.  
  3468.   // *********************************************************************//
  3469.   // DispIntf:  IADsNetAddressDisp
  3470.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3471.   // GUID:      {B21A50A9-4080-11D1-A3AC-00C04FB950DC}
  3472.   // *********************************************************************//
  3473.   IADsNetAddressDisp = dispinterface
  3474.     ['{B21A50A9-4080-11D1-A3AC-00C04FB950DC}']
  3475.     property AddressType: Integer dispid 2;
  3476.     property Address: OleVariant dispid 3;
  3477.   end;
  3478.  
  3479.   // *********************************************************************//
  3480.   // Interface: IADsOctetList
  3481.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3482.   // GUID:      {7B28B80F-4680-11D1-A3B4-00C04FB950DC}
  3483.   // *********************************************************************//
  3484.   IADsOctetList = interface(IDispatch)
  3485.     ['{7B28B80F-4680-11D1-A3B4-00C04FB950DC}']
  3486.     function Get_OctetList: OleVariant; safecall;
  3487.     procedure Set_OctetList(retval: OleVariant); safecall;
  3488.     property OctetList: OleVariant read Get_OctetList write Set_OctetList;
  3489.   end;
  3490.  
  3491.   // *********************************************************************//
  3492.   // DispIntf:  IADsOctetListDisp
  3493.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3494.   // GUID:      {7B28B80F-4680-11D1-A3B4-00C04FB950DC}
  3495.   // *********************************************************************//
  3496.   IADsOctetListDisp = dispinterface
  3497.     ['{7B28B80F-4680-11D1-A3B4-00C04FB950DC}']
  3498.     property OctetList: OleVariant dispid 2;
  3499.   end;
  3500.  
  3501.   // *********************************************************************//
  3502.   // Interface: IADsEmail
  3503.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3504.   // GUID:      {97AF011A-478E-11D1-A3B4-00C04FB950DC}
  3505.   // *********************************************************************//
  3506.   IADsEmail = interface(IDispatch)
  3507.     ['{97AF011A-478E-11D1-A3B4-00C04FB950DC}']
  3508.     function Get_Type_: Integer; safecall;
  3509.     procedure Set_Type_(retval: Integer); safecall;
  3510.     function Get_Address: WideString; safecall;
  3511.     procedure Set_Address(const retval: WideString); safecall;
  3512.     property Type_: Integer read Get_Type_ write Set_Type_;
  3513.     property Address: WideString read Get_Address write Set_Address;
  3514.   end;
  3515.  
  3516.   // *********************************************************************//
  3517.   // DispIntf:  IADsEmailDisp
  3518.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3519.   // GUID:      {97AF011A-478E-11D1-A3B4-00C04FB950DC}
  3520.   // *********************************************************************//
  3521.   IADsEmailDisp = dispinterface
  3522.     ['{97AF011A-478E-11D1-A3B4-00C04FB950DC}']
  3523.     property Type_: Integer dispid 2;
  3524.     property Address: WideString dispid 3;
  3525.   end;
  3526.  
  3527.   // *********************************************************************//
  3528.   // Interface: IADsPath
  3529.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3530.   // GUID:      {B287FCD5-4080-11D1-A3AC-00C04FB950DC}
  3531.   // *********************************************************************//
  3532.   IADsPath = interface(IDispatch)
  3533.     ['{B287FCD5-4080-11D1-A3AC-00C04FB950DC}']
  3534.     function Get_Type_: Integer; safecall;
  3535.     procedure Set_Type_(retval: Integer); safecall;
  3536.     function Get_VolumeName: WideString; safecall;
  3537.     procedure Set_VolumeName(const retval: WideString); safecall;
  3538.     function Get_Path: WideString; safecall;
  3539.     procedure Set_Path(const retval: WideString); safecall;
  3540.     property Type_: Integer read Get_Type_ write Set_Type_;
  3541.     property VolumeName: WideString read Get_VolumeName write Set_VolumeName;
  3542.     property Path: WideString read Get_Path write Set_Path;
  3543.   end;
  3544.  
  3545.   // *********************************************************************//
  3546.   // DispIntf:  IADsPathDisp
  3547.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3548.   // GUID:      {B287FCD5-4080-11D1-A3AC-00C04FB950DC}
  3549.   // *********************************************************************//
  3550.   IADsPathDisp = dispinterface
  3551.     ['{B287FCD5-4080-11D1-A3AC-00C04FB950DC}']
  3552.     property Type_: Integer dispid 2;
  3553.     property VolumeName: WideString dispid 3;
  3554.     property Path: WideString dispid 4;
  3555.   end;
  3556.  
  3557.   // *********************************************************************//
  3558.   // Interface: IADsReplicaPointer
  3559.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3560.   // GUID:      {F60FB803-4080-11D1-A3AC-00C04FB950DC}
  3561.   // *********************************************************************//
  3562.   IADsReplicaPointer = interface(IDispatch)
  3563.     ['{F60FB803-4080-11D1-A3AC-00C04FB950DC}']
  3564.     function Get_ServerName: WideString; safecall;
  3565.     procedure Set_ServerName(const retval: WideString); safecall;
  3566.     function Get_ReplicaType: Integer; safecall;
  3567.     procedure Set_ReplicaType(retval: Integer); safecall;
  3568.     function Get_ReplicaNumber: Integer; safecall;
  3569.     procedure Set_ReplicaNumber(retval: Integer); safecall;
  3570.     function Get_Count: Integer; safecall;
  3571.     procedure Set_Count(retval: Integer); safecall;
  3572.     function Get_ReplicaAddressHints: OleVariant; safecall;
  3573.     procedure Set_ReplicaAddressHints(retval: OleVariant); safecall;
  3574.     property ServerName: WideString read Get_ServerName write Set_ServerName;
  3575.     property ReplicaType: Integer read Get_ReplicaType write Set_ReplicaType;
  3576.     property ReplicaNumber: Integer read Get_ReplicaNumber write Set_ReplicaNumber;
  3577.     property Count: Integer read Get_Count write Set_Count;
  3578.     property ReplicaAddressHints: OleVariant read Get_ReplicaAddressHints write Set_ReplicaAddressHints;
  3579.   end;
  3580.  
  3581.   // *********************************************************************//
  3582.   // DispIntf:  IADsReplicaPointerDisp
  3583.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3584.   // GUID:      {F60FB803-4080-11D1-A3AC-00C04FB950DC}
  3585.   // *********************************************************************//
  3586.   IADsReplicaPointerDisp = dispinterface
  3587.     ['{F60FB803-4080-11D1-A3AC-00C04FB950DC}']
  3588.     property ServerName: WideString dispid 2;
  3589.     property ReplicaType: Integer dispid 3;
  3590.     property ReplicaNumber: Integer dispid 4;
  3591.     property Count: Integer dispid 5;
  3592.     property ReplicaAddressHints: OleVariant dispid 6;
  3593.   end;
  3594.  
  3595.   // *********************************************************************//
  3596.   // Interface: IADsAcl
  3597.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3598.   // GUID:      {8452D3AB-0869-11D1-A377-00C04FB950DC}
  3599.   // *********************************************************************//
  3600.   IADsAcl = interface(IDispatch)
  3601.     ['{8452D3AB-0869-11D1-A377-00C04FB950DC}']
  3602.     function Get_ProtectedAttrName: WideString; safecall;
  3603.     procedure Set_ProtectedAttrName(const retval: WideString); safecall;
  3604.     function Get_SubjectName: WideString; safecall;
  3605.     procedure Set_SubjectName(const retval: WideString); safecall;
  3606.     function Get_Privileges: Integer; safecall;
  3607.     procedure Set_Privileges(retval: Integer); safecall;
  3608.     function CopyAcl: IDispatch; safecall;
  3609.     property ProtectedAttrName: WideString read Get_ProtectedAttrName write Set_ProtectedAttrName;
  3610.     property SubjectName: WideString read Get_SubjectName write Set_SubjectName;
  3611.     property Privileges: Integer read Get_Privileges write Set_Privileges;
  3612.   end;
  3613.  
  3614.   // *********************************************************************//
  3615.   // DispIntf:  IADsAclDisp
  3616.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3617.   // GUID:      {8452D3AB-0869-11D1-A377-00C04FB950DC}
  3618.   // *********************************************************************//
  3619.   IADsAclDisp = dispinterface
  3620.     ['{8452D3AB-0869-11D1-A377-00C04FB950DC}']
  3621.     property ProtectedAttrName: WideString dispid 2;
  3622.     property SubjectName: WideString dispid 3;
  3623.     property Privileges: Integer dispid 4;
  3624.     function CopyAcl: IDispatch; dispid 5;
  3625.   end;
  3626.  
  3627.   // *********************************************************************//
  3628.   // Interface: IADsTimestamp
  3629.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3630.   // GUID:      {B2F5A901-4080-11D1-A3AC-00C04FB950DC}
  3631.   // *********************************************************************//
  3632.   IADsTimestamp = interface(IDispatch)
  3633.     ['{B2F5A901-4080-11D1-A3AC-00C04FB950DC}']
  3634.     function Get_WholeSeconds: Integer; safecall;
  3635.     procedure Set_WholeSeconds(retval: Integer); safecall;
  3636.     function Get_EventID: Integer; safecall;
  3637.     procedure Set_EventID(retval: Integer); safecall;
  3638.     property WholeSeconds: Integer read Get_WholeSeconds write Set_WholeSeconds;
  3639.     property EventID: Integer read Get_EventID write Set_EventID;
  3640.   end;
  3641.  
  3642.   // *********************************************************************//
  3643.   // DispIntf:  IADsTimestampDisp
  3644.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3645.   // GUID:      {B2F5A901-4080-11D1-A3AC-00C04FB950DC}
  3646.   // *********************************************************************//
  3647.   IADsTimestampDisp = dispinterface
  3648.     ['{B2F5A901-4080-11D1-A3AC-00C04FB950DC}']
  3649.     property WholeSeconds: Integer dispid 2;
  3650.     property EventID: Integer dispid 3;
  3651.   end;
  3652.  
  3653.   // *********************************************************************//
  3654.   // Interface: IADsPostalAddress
  3655.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3656.   // GUID:      {7ADECF29-4680-11D1-A3B4-00C04FB950DC}
  3657.   // *********************************************************************//
  3658.   IADsPostalAddress = interface(IDispatch)
  3659.     ['{7ADECF29-4680-11D1-A3B4-00C04FB950DC}']
  3660.     function Get_PostalAddress: OleVariant; safecall;
  3661.     procedure Set_PostalAddress(retval: OleVariant); safecall;
  3662.     property PostalAddress: OleVariant read Get_PostalAddress write Set_PostalAddress;
  3663.   end;
  3664.  
  3665.   // *********************************************************************//
  3666.   // DispIntf:  IADsPostalAddressDisp
  3667.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3668.   // GUID:      {7ADECF29-4680-11D1-A3B4-00C04FB950DC}
  3669.   // *********************************************************************//
  3670.   IADsPostalAddressDisp = dispinterface
  3671.     ['{7ADECF29-4680-11D1-A3B4-00C04FB950DC}']
  3672.     property PostalAddress: OleVariant dispid 2;
  3673.   end;
  3674.  
  3675.   // *********************************************************************//
  3676.   // Interface: IADsBackLink
  3677.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3678.   // GUID:      {FD1302BD-4080-11D1-A3AC-00C04FB950DC}
  3679.   // *********************************************************************//
  3680.   IADsBackLink = interface(IDispatch)
  3681.     ['{FD1302BD-4080-11D1-A3AC-00C04FB950DC}']
  3682.     function Get_RemoteID: Integer; safecall;
  3683.     procedure Set_RemoteID(retval: Integer); safecall;
  3684.     function Get_ObjectName: WideString; safecall;
  3685.     procedure Set_ObjectName(const retval: WideString); safecall;
  3686.     property RemoteID: Integer read Get_RemoteID write Set_RemoteID;
  3687.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  3688.   end;
  3689.  
  3690.   // *********************************************************************//
  3691.   // DispIntf:  IADsBackLinkDisp
  3692.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3693.   // GUID:      {FD1302BD-4080-11D1-A3AC-00C04FB950DC}
  3694.   // *********************************************************************//
  3695.   IADsBackLinkDisp = dispinterface
  3696.     ['{FD1302BD-4080-11D1-A3AC-00C04FB950DC}']
  3697.     property RemoteID: Integer dispid 2;
  3698.     property ObjectName: WideString dispid 3;
  3699.   end;
  3700.  
  3701.   // *********************************************************************//
  3702.   // Interface: IADsTypedName
  3703.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3704.   // GUID:      {B371A349-4080-11D1-A3AC-00C04FB950DC}
  3705.   // *********************************************************************//
  3706.   IADsTypedName = interface(IDispatch)
  3707.     ['{B371A349-4080-11D1-A3AC-00C04FB950DC}']
  3708.     function Get_ObjectName: WideString; safecall;
  3709.     procedure Set_ObjectName(const retval: WideString); safecall;
  3710.     function Get_Level: Integer; safecall;
  3711.     procedure Set_Level(retval: Integer); safecall;
  3712.     function Get_Interval: Integer; safecall;
  3713.     procedure Set_Interval(retval: Integer); safecall;
  3714.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  3715.     property Level: Integer read Get_Level write Set_Level;
  3716.     property Interval: Integer read Get_Interval write Set_Interval;
  3717.   end;
  3718.  
  3719.   // *********************************************************************//
  3720.   // DispIntf:  IADsTypedNameDisp
  3721.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3722.   // GUID:      {B371A349-4080-11D1-A3AC-00C04FB950DC}
  3723.   // *********************************************************************//
  3724.   IADsTypedNameDisp = dispinterface
  3725.     ['{B371A349-4080-11D1-A3AC-00C04FB950DC}']
  3726.     property ObjectName: WideString dispid 2;
  3727.     property Level: Integer dispid 3;
  3728.     property Interval: Integer dispid 4;
  3729.   end;
  3730.  
  3731.   // *********************************************************************//
  3732.   // Interface: IADsHold
  3733.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3734.   // GUID:      {B3EB3B37-4080-11D1-A3AC-00C04FB950DC}
  3735.   // *********************************************************************//
  3736.   IADsHold = interface(IDispatch)
  3737.     ['{B3EB3B37-4080-11D1-A3AC-00C04FB950DC}']
  3738.     function Get_ObjectName: WideString; safecall;
  3739.     procedure Set_ObjectName(const retval: WideString); safecall;
  3740.     function Get_Amount: Integer; safecall;
  3741.     procedure Set_Amount(retval: Integer); safecall;
  3742.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  3743.     property Amount: Integer read Get_Amount write Set_Amount;
  3744.   end;
  3745.  
  3746.   // *********************************************************************//
  3747.   // DispIntf:  IADsHoldDisp
  3748.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3749.   // GUID:      {B3EB3B37-4080-11D1-A3AC-00C04FB950DC}
  3750.   // *********************************************************************//
  3751.   IADsHoldDisp = dispinterface
  3752.     ['{B3EB3B37-4080-11D1-A3AC-00C04FB950DC}']
  3753.     property ObjectName: WideString dispid 2;
  3754.     property Amount: Integer dispid 3;
  3755.   end;
  3756.  
  3757.   // *********************************************************************//
  3758.   // Interface: IADsObjectOptions
  3759.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3760.   // GUID:      {46F14FDA-232B-11D1-A808-00C04FD8D5A8}
  3761.   // *********************************************************************//
  3762.   IADsObjectOptions = interface(IDispatch)
  3763.     ['{46F14FDA-232B-11D1-A808-00C04FD8D5A8}']
  3764.     function GetOption(lnOption: Integer): OleVariant; safecall;
  3765.     procedure SetOption(lnOption: Integer; vValue: OleVariant); safecall;
  3766.   end;
  3767.  
  3768.   // *********************************************************************//
  3769.   // DispIntf:  IADsObjectOptionsDisp
  3770.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3771.   // GUID:      {46F14FDA-232B-11D1-A808-00C04FD8D5A8}
  3772.   // *********************************************************************//
  3773.   IADsObjectOptionsDisp = dispinterface
  3774.     ['{46F14FDA-232B-11D1-A808-00C04FD8D5A8}']
  3775.     function GetOption(lnOption: Integer): OleVariant; dispid 2;
  3776.     procedure SetOption(lnOption: Integer; vValue: OleVariant); dispid 3;
  3777.   end;
  3778.  
  3779.   // *********************************************************************//
  3780.   // Interface: IADsPathname
  3781.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3782.   // GUID:      {D592AED4-F420-11D0-A36E-00C04FB950DC}
  3783.   // *********************************************************************//
  3784.   IADsPathname = interface(IDispatch)
  3785.     ['{D592AED4-F420-11D0-A36E-00C04FB950DC}']
  3786.     procedure Set_(const bstrADsPath: WideString; lnSetType: Integer); safecall;
  3787.     procedure SetDisplayType(lnDisplayType: Integer); safecall;
  3788.     function Retrieve(lnFormatType: Integer): WideString; safecall;
  3789.     function GetNumElements: Integer; safecall;
  3790.     function GetElement(lnElementIndex: Integer): WideString; safecall;
  3791.     procedure AddLeafElement(const bstrLeafElement: WideString); safecall;
  3792.     procedure RemoveLeafElement; safecall;
  3793.     function CopyPath: IDispatch; safecall;
  3794.     function GetEscapedElement(lnReserved: Integer; const bstrInStr: WideString): WideString; safecall;
  3795.     function Get_EscapedMode: Integer; safecall;
  3796.     procedure Set_EscapedMode(retval: Integer); safecall;
  3797.     property EscapedMode: Integer read Get_EscapedMode write Set_EscapedMode;
  3798.   end;
  3799.  
  3800.   // *********************************************************************//
  3801.   // DispIntf:  IADsPathnameDisp
  3802.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3803.   // GUID:      {D592AED4-F420-11D0-A36E-00C04FB950DC}
  3804.   // *********************************************************************//
  3805.   IADsPathnameDisp = dispinterface
  3806.     ['{D592AED4-F420-11D0-A36E-00C04FB950DC}']
  3807.     procedure Set_(const bstrADsPath: WideString; lnSetType: Integer); dispid 2;
  3808.     procedure SetDisplayType(lnDisplayType: Integer); dispid 3;
  3809.     function Retrieve(lnFormatType: Integer): WideString; dispid 4;
  3810.     function GetNumElements: Integer; dispid 5;
  3811.     function GetElement(lnElementIndex: Integer): WideString; dispid 6;
  3812.     procedure AddLeafElement(const bstrLeafElement: WideString); dispid 7;
  3813.     procedure RemoveLeafElement; dispid 8;
  3814.     function CopyPath: IDispatch; dispid 9;
  3815.     function GetEscapedElement(lnReserved: Integer; const bstrInStr: WideString): WideString; dispid 10;
  3816.     property EscapedMode: Integer dispid 11;
  3817.   end;
  3818.  
  3819.   // *********************************************************************//
  3820.   // Interface: IADsADSystemInfo
  3821.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3822.   // GUID:      {5BB11929-AFD1-11D2-9CB9-0000F87A369E}
  3823.   // *********************************************************************//
  3824.   IADsADSystemInfo = interface(IDispatch)
  3825.     ['{5BB11929-AFD1-11D2-9CB9-0000F87A369E}']
  3826.     function Get_UserName: WideString; safecall;
  3827.     function Get_ComputerName: WideString; safecall;
  3828.     function Get_SiteName: WideString; safecall;
  3829.     function Get_DomainShortName: WideString; safecall;
  3830.     function Get_DomainDNSName: WideString; safecall;
  3831.     function Get_ForestDNSName: WideString; safecall;
  3832.     function Get_PDCRoleOwner: WideString; safecall;
  3833.     function Get_SchemaRoleOwner: WideString; safecall;
  3834.     function Get_IsNativeMode: WordBool; safecall;
  3835.     function GetAnyDCName: WideString; safecall;
  3836.     function GetDCSiteName(const szServer: WideString): WideString; safecall;
  3837.     procedure RefreshSchemaCache; safecall;
  3838.     function GetTrees: OleVariant; safecall;
  3839.     property UserName: WideString read Get_UserName;
  3840.     property ComputerName: WideString read Get_ComputerName;
  3841.     property SiteName: WideString read Get_SiteName;
  3842.     property DomainShortName: WideString read Get_DomainShortName;
  3843.     property DomainDNSName: WideString read Get_DomainDNSName;
  3844.     property ForestDNSName: WideString read Get_ForestDNSName;
  3845.     property PDCRoleOwner: WideString read Get_PDCRoleOwner;
  3846.     property SchemaRoleOwner: WideString read Get_SchemaRoleOwner;
  3847.     property IsNativeMode: WordBool read Get_IsNativeMode;
  3848.   end;
  3849.  
  3850.   // *********************************************************************//
  3851.   // DispIntf:  IADsADSystemInfoDisp
  3852.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3853.   // GUID:      {5BB11929-AFD1-11D2-9CB9-0000F87A369E}
  3854.   // *********************************************************************//
  3855.   IADsADSystemInfoDisp = dispinterface
  3856.     ['{5BB11929-AFD1-11D2-9CB9-0000F87A369E}']
  3857.     property UserName: WideString readonly dispid 2;
  3858.     property ComputerName: WideString readonly dispid 3;
  3859.     property SiteName: WideString readonly dispid 4;
  3860.     property DomainShortName: WideString readonly dispid 5;
  3861.     property DomainDNSName: WideString readonly dispid 6;
  3862.     property ForestDNSName: WideString readonly dispid 7;
  3863.     property PDCRoleOwner: WideString readonly dispid 8;
  3864.     property SchemaRoleOwner: WideString readonly dispid 9;
  3865.     property IsNativeMode: WordBool readonly dispid 10;
  3866.     function GetAnyDCName: WideString; dispid 11;
  3867.     function GetDCSiteName(const szServer: WideString): WideString; dispid 12;
  3868.     procedure RefreshSchemaCache; dispid 13;
  3869.     function GetTrees: OleVariant; dispid 14;
  3870.   end;
  3871.  
  3872.   // *********************************************************************//
  3873.   // Interface: IADsWinNTSystemInfo
  3874.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3875.   // GUID:      {6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}
  3876.   // *********************************************************************//
  3877.   IADsWinNTSystemInfo = interface(IDispatch)
  3878.     ['{6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}']
  3879.     function Get_UserName: WideString; safecall;
  3880.     function Get_ComputerName: WideString; safecall;
  3881.     function Get_DomainName: WideString; safecall;
  3882.     function Get_PDC: WideString; safecall;
  3883.     property UserName: WideString read Get_UserName;
  3884.     property ComputerName: WideString read Get_ComputerName;
  3885.     property DomainName: WideString read Get_DomainName;
  3886.     property PDC: WideString read Get_PDC;
  3887.   end;
  3888.  
  3889.   // *********************************************************************//
  3890.   // DispIntf:  IADsWinNTSystemInfoDisp
  3891.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3892.   // GUID:      {6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}
  3893.   // *********************************************************************//
  3894.   IADsWinNTSystemInfoDisp = dispinterface
  3895.     ['{6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}']
  3896.     property UserName: WideString readonly dispid 2;
  3897.     property ComputerName: WideString readonly dispid 3;
  3898.     property DomainName: WideString readonly dispid 4;
  3899.     property PDC: WideString readonly dispid 5;
  3900.   end;
  3901.  
  3902.   // *********************************************************************//
  3903.   // Interface: IADsDNWithBinary
  3904.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3905.   // GUID:      {7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}
  3906.   // *********************************************************************//
  3907.   IADsDNWithBinary = interface(IDispatch)
  3908.     ['{7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}']
  3909.     function Get_BinaryValue: OleVariant; safecall;
  3910.     procedure Set_BinaryValue(retval: OleVariant); safecall;
  3911.     function Get_DNString: WideString; safecall;
  3912.     procedure Set_DNString(const retval: WideString); safecall;
  3913.     property BinaryValue: OleVariant read Get_BinaryValue write Set_BinaryValue;
  3914.     property DNString: WideString read Get_DNString write Set_DNString;
  3915.   end;
  3916.  
  3917.   // *********************************************************************//
  3918.   // DispIntf:  IADsDNWithBinaryDisp
  3919.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3920.   // GUID:      {7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}
  3921.   // *********************************************************************//
  3922.   IADsDNWithBinaryDisp = dispinterface
  3923.     ['{7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}']
  3924.     property BinaryValue: OleVariant dispid 2;
  3925.     property DNString: WideString dispid 3;
  3926.   end;
  3927.  
  3928.   // *********************************************************************//
  3929.   // Interface: IADsDNWithString
  3930.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3931.   // GUID:      {370DF02E-F934-11D2-BA96-00C04FB6D0D1}
  3932.   // *********************************************************************//
  3933.   IADsDNWithString = interface(IDispatch)
  3934.     ['{370DF02E-F934-11D2-BA96-00C04FB6D0D1}']
  3935.     function Get_StringValue: WideString; safecall;
  3936.     procedure Set_StringValue(const retval: WideString); safecall;
  3937.     function Get_DNString: WideString; safecall;
  3938.     procedure Set_DNString(const retval: WideString); safecall;
  3939.     property StringValue: WideString read Get_StringValue write Set_StringValue;
  3940.     property DNString: WideString read Get_DNString write Set_DNString;
  3941.   end;
  3942.  
  3943.   // *********************************************************************//
  3944.   // DispIntf:  IADsDNWithStringDisp
  3945.   // Flags:     (4416) Dual OleAutomation Dispatchable
  3946.   // GUID:      {370DF02E-F934-11D2-BA96-00C04FB6D0D1}
  3947.   // *********************************************************************//
  3948.   IADsDNWithStringDisp = dispinterface
  3949.     ['{370DF02E-F934-11D2-BA96-00C04FB6D0D1}']
  3950.     property StringValue: WideString dispid 2;
  3951.     property DNString: WideString dispid 3;
  3952.   end;
  3953.  
  3954.   // *********************************************************************//
  3955.   // The Class CoPropertyEntry provides a Create and CreateRemote method to
  3956.   // create instances of the default interface IADsPropertyEntry exposed by
  3957.   // the CoClass PropertyEntry. The functions are intended to be used by
  3958.   // clients wishing to automate the CoClass objects exposed by the
  3959.   // server of this typelibrary.
  3960.   // *********************************************************************//
  3961.   CoPropertyEntry = class
  3962.     class function Create: IADsPropertyEntry;
  3963.     class function CreateRemote(const MachineName: string): IADsPropertyEntry;
  3964.   end;
  3965.  
  3966.   // *********************************************************************//
  3967.   // OLE Server Proxy class declaration
  3968.   // Server Object    : TPropertyEntry
  3969.   // Help String      :
  3970.   // Default Interface: IADsPropertyEntry
  3971.   // Def. Intf. DISP? : No
  3972.   // Event   Interface:
  3973.   // TypeFlags        : (2) CanCreate
  3974.   // *********************************************************************//
  3975.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  3976.   TPropertyEntryProperties = class;
  3977.   {$ENDIF}
  3978.   TPropertyEntry = class(TOleServer)
  3979.   private
  3980.     FIntf: IADsPropertyEntry;
  3981.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  3982.     FProps: TPropertyEntryProperties;
  3983.     function GetServerProperties: TPropertyEntryProperties;
  3984.     {$ENDIF}
  3985.     function GetDefaultInterface: IADsPropertyEntry;
  3986.   protected
  3987.     procedure InitServerData; override;
  3988.     function Get_Name: WideString;
  3989.     procedure Set_Name(const retval: WideString);
  3990.     function Get_ADsType: Integer;
  3991.     procedure Set_ADsType(retval: Integer);
  3992.     function Get_ControlCode: Integer;
  3993.     procedure Set_ControlCode(retval: Integer);
  3994.     function Get_Values: OleVariant;
  3995.     procedure Set_Values(retval: OleVariant);
  3996.   public
  3997.     constructor Create(AOwner: TComponent); override;
  3998.     destructor Destroy; override;
  3999.     procedure Connect; override;
  4000.     procedure ConnectTo(svrIntf: IADsPropertyEntry);
  4001.     procedure Disconnect; override;
  4002.     procedure Clear;
  4003.     property DefaultInterface: IADsPropertyEntry read GetDefaultInterface;
  4004.     property Values: OleVariant read Get_Values write Set_Values;
  4005.     property Name: WideString read Get_Name write Set_Name;
  4006.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  4007.     property ControlCode: Integer read Get_ControlCode write Set_ControlCode;
  4008.   published
  4009.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4010.     property Server: TPropertyEntryProperties read GetServerProperties;
  4011.     {$ENDIF}
  4012.   end;
  4013.  
  4014.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4015.   // *********************************************************************//
  4016.   // OLE Server Properties Proxy Class
  4017.   // Server Object    : TPropertyEntry
  4018.   // (This object is used by the IDE's Property Inspector to allow editing
  4019.   //  of the properties of this server)
  4020.   // *********************************************************************//
  4021.   TPropertyEntryProperties = class(TPersistent)
  4022.   private
  4023.     FServer: TPropertyEntry;
  4024.     function GetDefaultInterface: IADsPropertyEntry;
  4025.     constructor Create(AServer: TPropertyEntry);
  4026.   protected
  4027.     function Get_Name: WideString;
  4028.     procedure Set_Name(const retval: WideString);
  4029.     function Get_ADsType: Integer;
  4030.     procedure Set_ADsType(retval: Integer);
  4031.     function Get_ControlCode: Integer;
  4032.     procedure Set_ControlCode(retval: Integer);
  4033.     function Get_Values: OleVariant;
  4034.     procedure Set_Values(retval: OleVariant);
  4035.   public
  4036.     property DefaultInterface: IADsPropertyEntry read GetDefaultInterface;
  4037.   published
  4038.     property Name: WideString read Get_Name write Set_Name;
  4039.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  4040.     property ControlCode: Integer read Get_ControlCode write Set_ControlCode;
  4041.   end;
  4042.   {$ENDIF}
  4043.  
  4044.   // *********************************************************************//
  4045.   // The Class CoPropertyValue provides a Create and CreateRemote method to
  4046.   // create instances of the default interface IADsPropertyValue exposed by
  4047.   // the CoClass PropertyValue. The functions are intended to be used by
  4048.   // clients wishing to automate the CoClass objects exposed by the
  4049.   // server of this typelibrary.
  4050.   // *********************************************************************//
  4051.   CoPropertyValue = class
  4052.     class function Create: IADsPropertyValue;
  4053.     class function CreateRemote(const MachineName: string): IADsPropertyValue;
  4054.   end;
  4055.  
  4056.   // *********************************************************************//
  4057.   // OLE Server Proxy class declaration
  4058.   // Server Object    : TPropertyValue
  4059.   // Help String      :
  4060.   // Default Interface: IADsPropertyValue
  4061.   // Def. Intf. DISP? : No
  4062.   // Event   Interface:
  4063.   // TypeFlags        : (2) CanCreate
  4064.   // *********************************************************************//
  4065.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4066.   TPropertyValueProperties = class;
  4067.   {$ENDIF}
  4068.   TPropertyValue = class(TOleServer)
  4069.   private
  4070.     FIntf: IADsPropertyValue;
  4071.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4072.     FProps: TPropertyValueProperties;
  4073.     function GetServerProperties: TPropertyValueProperties;
  4074.     {$ENDIF}
  4075.     function GetDefaultInterface: IADsPropertyValue;
  4076.   protected
  4077.     procedure InitServerData; override;
  4078.     function Get_ADsType: Integer;
  4079.     procedure Set_ADsType(retval: Integer);
  4080.     function Get_DNString: WideString;
  4081.     procedure Set_DNString(const retval: WideString);
  4082.     function Get_CaseExactString: WideString;
  4083.     procedure Set_CaseExactString(const retval: WideString);
  4084.     function Get_CaseIgnoreString: WideString;
  4085.     procedure Set_CaseIgnoreString(const retval: WideString);
  4086.     function Get_PrintableString: WideString;
  4087.     procedure Set_PrintableString(const retval: WideString);
  4088.     function Get_NumericString: WideString;
  4089.     procedure Set_NumericString(const retval: WideString);
  4090.     function Get_Boolean: Integer;
  4091.     procedure Set_Boolean(retval: Integer);
  4092.     function Get_Integer: Integer;
  4093.     procedure Set_Integer(retval: Integer);
  4094.     function Get_OctetString: OleVariant;
  4095.     procedure Set_OctetString(retval: OleVariant);
  4096.     function Get_SecurityDescriptor: IDispatch;
  4097.     procedure Set_SecurityDescriptor(const retval: IDispatch);
  4098.     function Get_LargeInteger: IDispatch;
  4099.     procedure Set_LargeInteger(const retval: IDispatch);
  4100.     function Get_UTCTime: TDateTime;
  4101.     procedure Set_UTCTime(retval: TDateTime);
  4102.   public
  4103.     constructor Create(AOwner: TComponent); override;
  4104.     destructor Destroy; override;
  4105.     procedure Connect; override;
  4106.     procedure ConnectTo(svrIntf: IADsPropertyValue);
  4107.     procedure Disconnect; override;
  4108.     procedure Clear;
  4109.     property DefaultInterface: IADsPropertyValue read GetDefaultInterface;
  4110.     property OctetString: OleVariant read Get_OctetString write Set_OctetString;
  4111.     property SecurityDescriptor: IDispatch read Get_SecurityDescriptor write Set_SecurityDescriptor;
  4112.     property LargeInteger: IDispatch read Get_LargeInteger write Set_LargeInteger;
  4113.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  4114.     property DNString: WideString read Get_DNString write Set_DNString;
  4115.     property CaseExactString: WideString read Get_CaseExactString write Set_CaseExactString;
  4116.     property CaseIgnoreString: WideString read Get_CaseIgnoreString write Set_CaseIgnoreString;
  4117.     property PrintableString: WideString read Get_PrintableString write Set_PrintableString;
  4118.     property NumericString: WideString read Get_NumericString write Set_NumericString;
  4119.     property Boolean: Integer read Get_Boolean write Set_Boolean;
  4120.     property Integer: Integer read Get_Integer write Set_Integer;
  4121.     property UTCTime: TDateTime read Get_UTCTime write Set_UTCTime;
  4122.   published
  4123.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4124.     property Server: TPropertyValueProperties read GetServerProperties;
  4125.     {$ENDIF}
  4126.   end;
  4127.  
  4128.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4129.   // *********************************************************************//
  4130.   // OLE Server Properties Proxy Class
  4131.   // Server Object    : TPropertyValue
  4132.   // (This object is used by the IDE's Property Inspector to allow editing
  4133.   //  of the properties of this server)
  4134.   // *********************************************************************//
  4135.   TPropertyValueProperties = class(TPersistent)
  4136.   private
  4137.     FServer: TPropertyValue;
  4138.     function GetDefaultInterface: IADsPropertyValue;
  4139.     constructor Create(AServer: TPropertyValue);
  4140.   protected
  4141.     function Get_ADsType: Integer;
  4142.     procedure Set_ADsType(retval: Integer);
  4143.     function Get_DNString: WideString;
  4144.     procedure Set_DNString(const retval: WideString);
  4145.     function Get_CaseExactString: WideString;
  4146.     procedure Set_CaseExactString(const retval: WideString);
  4147.     function Get_CaseIgnoreString: WideString;
  4148.     procedure Set_CaseIgnoreString(const retval: WideString);
  4149.     function Get_PrintableString: WideString;
  4150.     procedure Set_PrintableString(const retval: WideString);
  4151.     function Get_NumericString: WideString;
  4152.     procedure Set_NumericString(const retval: WideString);
  4153.     function Get_Boolean: Integer;
  4154.     procedure Set_Boolean(retval: Integer);
  4155.     function Get_Integer: Integer;
  4156.     procedure Set_Integer(retval: Integer);
  4157.     function Get_OctetString: OleVariant;
  4158.     procedure Set_OctetString(retval: OleVariant);
  4159.     function Get_SecurityDescriptor: IDispatch;
  4160.     procedure Set_SecurityDescriptor(const retval: IDispatch);
  4161.     function Get_LargeInteger: IDispatch;
  4162.     procedure Set_LargeInteger(const retval: IDispatch);
  4163.     function Get_UTCTime: TDateTime;
  4164.     procedure Set_UTCTime(retval: TDateTime);
  4165.   public
  4166.     property DefaultInterface: IADsPropertyValue read GetDefaultInterface;
  4167.   published
  4168.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  4169.     property DNString: WideString read Get_DNString write Set_DNString;
  4170.     property CaseExactString: WideString read Get_CaseExactString write Set_CaseExactString;
  4171.     property CaseIgnoreString: WideString read Get_CaseIgnoreString write Set_CaseIgnoreString;
  4172.     property PrintableString: WideString read Get_PrintableString write Set_PrintableString;
  4173.     property NumericString: WideString read Get_NumericString write Set_NumericString;
  4174.     property Boolean: Integer read Get_Boolean write Set_Boolean;
  4175.     property Integer: Integer read Get_Integer write Set_Integer;
  4176.     property UTCTime: TDateTime read Get_UTCTime write Set_UTCTime;
  4177.   end;
  4178.   {$ENDIF}
  4179.  
  4180.   // *********************************************************************//
  4181.   // The Class CoAccessControlEntry provides a Create and CreateRemote method to
  4182.   // create instances of the default interface IADsAccessControlEntry exposed by
  4183.   // the CoClass AccessControlEntry. The functions are intended to be used by
  4184.   // clients wishing to automate the CoClass objects exposed by the
  4185.   // server of this typelibrary.
  4186.   // *********************************************************************//
  4187.   CoAccessControlEntry = class
  4188.     class function Create: IADsAccessControlEntry;
  4189.     class function CreateRemote(const MachineName: string): IADsAccessControlEntry;
  4190.   end;
  4191.  
  4192.   // *********************************************************************//
  4193.   // OLE Server Proxy class declaration
  4194.   // Server Object    : TAccessControlEntry
  4195.   // Help String      :
  4196.   // Default Interface: IADsAccessControlEntry
  4197.   // Def. Intf. DISP? : No
  4198.   // Event   Interface:
  4199.   // TypeFlags        : (2) CanCreate
  4200.   // *********************************************************************//
  4201.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4202.   TAccessControlEntryProperties = class;
  4203.   {$ENDIF}
  4204.   TAccessControlEntry = class(TOleServer)
  4205.   private
  4206.     FIntf: IADsAccessControlEntry;
  4207.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4208.     FProps: TAccessControlEntryProperties;
  4209.     function GetServerProperties: TAccessControlEntryProperties;
  4210.     {$ENDIF}
  4211.     function GetDefaultInterface: IADsAccessControlEntry;
  4212.   protected
  4213.     procedure InitServerData; override;
  4214.     function Get_AccessMask: Integer;
  4215.     procedure Set_AccessMask(retval: Integer);
  4216.     function Get_AceType: Integer;
  4217.     procedure Set_AceType(retval: Integer);
  4218.     function Get_AceFlags: Integer;
  4219.     procedure Set_AceFlags(retval: Integer);
  4220.     function Get_Flags: Integer;
  4221.     procedure Set_Flags(retval: Integer);
  4222.     function Get_ObjectType: WideString;
  4223.     procedure Set_ObjectType(const retval: WideString);
  4224.     function Get_InheritedObjectType: WideString;
  4225.     procedure Set_InheritedObjectType(const retval: WideString);
  4226.     function Get_Trustee: WideString;
  4227.     procedure Set_Trustee(const retval: WideString);
  4228.   public
  4229.     constructor Create(AOwner: TComponent); override;
  4230.     destructor Destroy; override;
  4231.     procedure Connect; override;
  4232.     procedure ConnectTo(svrIntf: IADsAccessControlEntry);
  4233.     procedure Disconnect; override;
  4234.     property DefaultInterface: IADsAccessControlEntry read GetDefaultInterface;
  4235.     property AccessMask: Integer read Get_AccessMask write Set_AccessMask;
  4236.     property AceType: Integer read Get_AceType write Set_AceType;
  4237.     property AceFlags: Integer read Get_AceFlags write Set_AceFlags;
  4238.     property Flags: Integer read Get_Flags write Set_Flags;
  4239.     property ObjectType: WideString read Get_ObjectType write Set_ObjectType;
  4240.     property InheritedObjectType: WideString read Get_InheritedObjectType write Set_InheritedObjectType;
  4241.     property Trustee: WideString read Get_Trustee write Set_Trustee;
  4242.   published
  4243.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4244.     property Server: TAccessControlEntryProperties read GetServerProperties;
  4245.     {$ENDIF}
  4246.   end;
  4247.  
  4248.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4249.   // *********************************************************************//
  4250.   // OLE Server Properties Proxy Class
  4251.   // Server Object    : TAccessControlEntry
  4252.   // (This object is used by the IDE's Property Inspector to allow editing
  4253.   //  of the properties of this server)
  4254.   // *********************************************************************//
  4255.   TAccessControlEntryProperties = class(TPersistent)
  4256.   private
  4257.     FServer: TAccessControlEntry;
  4258.     function GetDefaultInterface: IADsAccessControlEntry;
  4259.     constructor Create(AServer: TAccessControlEntry);
  4260.   protected
  4261.     function Get_AccessMask: Integer;
  4262.     procedure Set_AccessMask(retval: Integer);
  4263.     function Get_AceType: Integer;
  4264.     procedure Set_AceType(retval: Integer);
  4265.     function Get_AceFlags: Integer;
  4266.     procedure Set_AceFlags(retval: Integer);
  4267.     function Get_Flags: Integer;
  4268.     procedure Set_Flags(retval: Integer);
  4269.     function Get_ObjectType: WideString;
  4270.     procedure Set_ObjectType(const retval: WideString);
  4271.     function Get_InheritedObjectType: WideString;
  4272.     procedure Set_InheritedObjectType(const retval: WideString);
  4273.     function Get_Trustee: WideString;
  4274.     procedure Set_Trustee(const retval: WideString);
  4275.   public
  4276.     property DefaultInterface: IADsAccessControlEntry read GetDefaultInterface;
  4277.   published
  4278.     property AccessMask: Integer read Get_AccessMask write Set_AccessMask;
  4279.     property AceType: Integer read Get_AceType write Set_AceType;
  4280.     property AceFlags: Integer read Get_AceFlags write Set_AceFlags;
  4281.     property Flags: Integer read Get_Flags write Set_Flags;
  4282.     property ObjectType: WideString read Get_ObjectType write Set_ObjectType;
  4283.     property InheritedObjectType: WideString read Get_InheritedObjectType write Set_InheritedObjectType;
  4284.     property Trustee: WideString read Get_Trustee write Set_Trustee;
  4285.   end;
  4286.   {$ENDIF}
  4287.  
  4288.   // *********************************************************************//
  4289.   // The Class CoAccessControlList provides a Create and CreateRemote method to
  4290.   // create instances of the default interface IADsAccessControlList exposed by
  4291.   // the CoClass AccessControlList. The functions are intended to be used by
  4292.   // clients wishing to automate the CoClass objects exposed by the
  4293.   // server of this typelibrary.
  4294.   // *********************************************************************//
  4295.   CoAccessControlList = class
  4296.     class function Create: IADsAccessControlList;
  4297.     class function CreateRemote(const MachineName: string): IADsAccessControlList;
  4298.   end;
  4299.  
  4300.   // *********************************************************************//
  4301.   // OLE Server Proxy class declaration
  4302.   // Server Object    : TAccessControlList
  4303.   // Help String      :
  4304.   // Default Interface: IADsAccessControlList
  4305.   // Def. Intf. DISP? : No
  4306.   // Event   Interface:
  4307.   // TypeFlags        : (2) CanCreate
  4308.   // *********************************************************************//
  4309.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4310.   TAccessControlListProperties = class;
  4311.   {$ENDIF}
  4312.   TAccessControlList = class(TOleServer)
  4313.   private
  4314.     FIntf: IADsAccessControlList;
  4315.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4316.     FProps: TAccessControlListProperties;
  4317.     function GetServerProperties: TAccessControlListProperties;
  4318.     {$ENDIF}
  4319.     function GetDefaultInterface: IADsAccessControlList;
  4320.   protected
  4321.     procedure InitServerData; override;
  4322.     function Get_AclRevision: Integer;
  4323.     procedure Set_AclRevision(retval: Integer);
  4324.     function Get_AceCount: Integer;
  4325.     procedure Set_AceCount(retval: Integer);
  4326.   public
  4327.     constructor Create(AOwner: TComponent); override;
  4328.     destructor Destroy; override;
  4329.     procedure Connect; override;
  4330.     procedure ConnectTo(svrIntf: IADsAccessControlList);
  4331.     procedure Disconnect; override;
  4332.     procedure AddAce(const pAccessControlEntry: IDispatch);
  4333.     procedure RemoveAce(const pAccessControlEntry: IDispatch);
  4334.     function CopyAccessList: IDispatch;
  4335.     property DefaultInterface: IADsAccessControlList read GetDefaultInterface;
  4336.     property AclRevision: Integer read Get_AclRevision write Set_AclRevision;
  4337.     property AceCount: Integer read Get_AceCount write Set_AceCount;
  4338.   published
  4339.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4340.     property Server: TAccessControlListProperties read GetServerProperties;
  4341.     {$ENDIF}
  4342.   end;
  4343.  
  4344.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4345.   // *********************************************************************//
  4346.   // OLE Server Properties Proxy Class
  4347.   // Server Object    : TAccessControlList
  4348.   // (This object is used by the IDE's Property Inspector to allow editing
  4349.   //  of the properties of this server)
  4350.   // *********************************************************************//
  4351.   TAccessControlListProperties = class(TPersistent)
  4352.   private
  4353.     FServer: TAccessControlList;
  4354.     function GetDefaultInterface: IADsAccessControlList;
  4355.     constructor Create(AServer: TAccessControlList);
  4356.   protected
  4357.     function Get_AclRevision: Integer;
  4358.     procedure Set_AclRevision(retval: Integer);
  4359.     function Get_AceCount: Integer;
  4360.     procedure Set_AceCount(retval: Integer);
  4361.   public
  4362.     property DefaultInterface: IADsAccessControlList read GetDefaultInterface;
  4363.   published
  4364.     property AclRevision: Integer read Get_AclRevision write Set_AclRevision;
  4365.     property AceCount: Integer read Get_AceCount write Set_AceCount;
  4366.   end;
  4367.   {$ENDIF}
  4368.  
  4369.   // *********************************************************************//
  4370.   // The Class CoSecurityDescriptor provides a Create and CreateRemote method to
  4371.   // create instances of the default interface IADsSecurityDescriptor exposed by
  4372.   // the CoClass SecurityDescriptor. The functions are intended to be used by
  4373.   // clients wishing to automate the CoClass objects exposed by the
  4374.   // server of this typelibrary.
  4375.   // *********************************************************************//
  4376.   CoSecurityDescriptor = class
  4377.     class function Create: IADsSecurityDescriptor;
  4378.     class function CreateRemote(const MachineName: string): IADsSecurityDescriptor;
  4379.   end;
  4380.  
  4381.   // *********************************************************************//
  4382.   // OLE Server Proxy class declaration
  4383.   // Server Object    : TSecurityDescriptor
  4384.   // Help String      :
  4385.   // Default Interface: IADsSecurityDescriptor
  4386.   // Def. Intf. DISP? : No
  4387.   // Event   Interface:
  4388.   // TypeFlags        : (2) CanCreate
  4389.   // *********************************************************************//
  4390.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4391.   TSecurityDescriptorProperties = class;
  4392.   {$ENDIF}
  4393.   TSecurityDescriptor = class(TOleServer)
  4394.   private
  4395.     FIntf: IADsSecurityDescriptor;
  4396.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4397.     FProps: TSecurityDescriptorProperties;
  4398.     function GetServerProperties: TSecurityDescriptorProperties;
  4399.     {$ENDIF}
  4400.     function GetDefaultInterface: IADsSecurityDescriptor;
  4401.   protected
  4402.     procedure InitServerData; override;
  4403.     function Get_Revision: Integer;
  4404.     procedure Set_Revision(retval: Integer);
  4405.     function Get_Control: Integer;
  4406.     procedure Set_Control(retval: Integer);
  4407.     function Get_Owner: WideString;
  4408.     procedure Set_Owner(const retval: WideString);
  4409.     function Get_OwnerDefaulted: WordBool;
  4410.     procedure Set_OwnerDefaulted(retval: WordBool);
  4411.     function Get_Group: WideString;
  4412.     procedure Set_Group(const retval: WideString);
  4413.     function Get_GroupDefaulted: WordBool;
  4414.     procedure Set_GroupDefaulted(retval: WordBool);
  4415.     function Get_DiscretionaryAcl: IDispatch;
  4416.     procedure Set_DiscretionaryAcl(const retval: IDispatch);
  4417.     function Get_DaclDefaulted: WordBool;
  4418.     procedure Set_DaclDefaulted(retval: WordBool);
  4419.     function Get_SystemAcl: IDispatch;
  4420.     procedure Set_SystemAcl(const retval: IDispatch);
  4421.     function Get_SaclDefaulted: WordBool;
  4422.     procedure Set_SaclDefaulted(retval: WordBool);
  4423.   public
  4424.     constructor Create(AOwner: TComponent); override;
  4425.     destructor Destroy; override;
  4426.     procedure Connect; override;
  4427.     procedure ConnectTo(svrIntf: IADsSecurityDescriptor);
  4428.     procedure Disconnect; override;
  4429.     function CopySecurityDescriptor: IDispatch;
  4430.     property DefaultInterface: IADsSecurityDescriptor read GetDefaultInterface;
  4431.     property DiscretionaryAcl: IDispatch read Get_DiscretionaryAcl write Set_DiscretionaryAcl;
  4432.     property SystemAcl: IDispatch read Get_SystemAcl write Set_SystemAcl;
  4433.     property Revision: Integer read Get_Revision write Set_Revision;
  4434.     property Control: Integer read Get_Control write Set_Control;
  4435.     property Owner: WideString read Get_Owner write Set_Owner;
  4436.     property OwnerDefaulted: WordBool read Get_OwnerDefaulted write Set_OwnerDefaulted;
  4437.     property Group: WideString read Get_Group write Set_Group;
  4438.     property GroupDefaulted: WordBool read Get_GroupDefaulted write Set_GroupDefaulted;
  4439.     property DaclDefaulted: WordBool read Get_DaclDefaulted write Set_DaclDefaulted;
  4440.     property SaclDefaulted: WordBool read Get_SaclDefaulted write Set_SaclDefaulted;
  4441.   published
  4442.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4443.     property Server: TSecurityDescriptorProperties read GetServerProperties;
  4444.     {$ENDIF}
  4445.   end;
  4446.  
  4447.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4448.   // *********************************************************************//
  4449.   // OLE Server Properties Proxy Class
  4450.   // Server Object    : TSecurityDescriptor
  4451.   // (This object is used by the IDE's Property Inspector to allow editing
  4452.   //  of the properties of this server)
  4453.   // *********************************************************************//
  4454.   TSecurityDescriptorProperties = class(TPersistent)
  4455.   private
  4456.     FServer: TSecurityDescriptor;
  4457.     function GetDefaultInterface: IADsSecurityDescriptor;
  4458.     constructor Create(AServer: TSecurityDescriptor);
  4459.   protected
  4460.     function Get_Revision: Integer;
  4461.     procedure Set_Revision(retval: Integer);
  4462.     function Get_Control: Integer;
  4463.     procedure Set_Control(retval: Integer);
  4464.     function Get_Owner: WideString;
  4465.     procedure Set_Owner(const retval: WideString);
  4466.     function Get_OwnerDefaulted: WordBool;
  4467.     procedure Set_OwnerDefaulted(retval: WordBool);
  4468.     function Get_Group: WideString;
  4469.     procedure Set_Group(const retval: WideString);
  4470.     function Get_GroupDefaulted: WordBool;
  4471.     procedure Set_GroupDefaulted(retval: WordBool);
  4472.     function Get_DiscretionaryAcl: IDispatch;
  4473.     procedure Set_DiscretionaryAcl(const retval: IDispatch);
  4474.     function Get_DaclDefaulted: WordBool;
  4475.     procedure Set_DaclDefaulted(retval: WordBool);
  4476.     function Get_SystemAcl: IDispatch;
  4477.     procedure Set_SystemAcl(const retval: IDispatch);
  4478.     function Get_SaclDefaulted: WordBool;
  4479.     procedure Set_SaclDefaulted(retval: WordBool);
  4480.   public
  4481.     property DefaultInterface: IADsSecurityDescriptor read GetDefaultInterface;
  4482.   published
  4483.     property Revision: Integer read Get_Revision write Set_Revision;
  4484.     property Control: Integer read Get_Control write Set_Control;
  4485.     property Owner: WideString read Get_Owner write Set_Owner;
  4486.     property OwnerDefaulted: WordBool read Get_OwnerDefaulted write Set_OwnerDefaulted;
  4487.     property Group: WideString read Get_Group write Set_Group;
  4488.     property GroupDefaulted: WordBool read Get_GroupDefaulted write Set_GroupDefaulted;
  4489.     property DaclDefaulted: WordBool read Get_DaclDefaulted write Set_DaclDefaulted;
  4490.     property SaclDefaulted: WordBool read Get_SaclDefaulted write Set_SaclDefaulted;
  4491.   end;
  4492.   {$ENDIF}
  4493.  
  4494.   // *********************************************************************//
  4495.   // The Class CoLargeInteger provides a Create and CreateRemote method to
  4496.   // create instances of the default interface IADsLargeInteger exposed by
  4497.   // the CoClass LargeInteger. The functions are intended to be used by
  4498.   // clients wishing to automate the CoClass objects exposed by the
  4499.   // server of this typelibrary.
  4500.   // *********************************************************************//
  4501.   CoLargeInteger = class
  4502.     class function Create: IADsLargeInteger;
  4503.     class function CreateRemote(const MachineName: string): IADsLargeInteger;
  4504.   end;
  4505.  
  4506.   // *********************************************************************//
  4507.   // OLE Server Proxy class declaration
  4508.   // Server Object    : TLargeInteger
  4509.   // Help String      :
  4510.   // Default Interface: IADsLargeInteger
  4511.   // Def. Intf. DISP? : No
  4512.   // Event   Interface:
  4513.   // TypeFlags        : (2) CanCreate
  4514.   // *********************************************************************//
  4515.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4516.   TLargeIntegerProperties = class;
  4517.   {$ENDIF}
  4518.   TLargeInteger = class(TOleServer)
  4519.   private
  4520.     FIntf: IADsLargeInteger;
  4521.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4522.     FProps: TLargeIntegerProperties;
  4523.     function GetServerProperties: TLargeIntegerProperties;
  4524.     {$ENDIF}
  4525.     function GetDefaultInterface: IADsLargeInteger;
  4526.   protected
  4527.     procedure InitServerData; override;
  4528.     function Get_HighPart: Integer;
  4529.     procedure Set_HighPart(retval: Integer);
  4530.     function Get_LowPart: Integer;
  4531.     procedure Set_LowPart(retval: Integer);
  4532.   public
  4533.     constructor Create(AOwner: TComponent); override;
  4534.     destructor Destroy; override;
  4535.     procedure Connect; override;
  4536.     procedure ConnectTo(svrIntf: IADsLargeInteger);
  4537.     procedure Disconnect; override;
  4538.     property DefaultInterface: IADsLargeInteger read GetDefaultInterface;
  4539.     property HighPart: Integer read Get_HighPart write Set_HighPart;
  4540.     property LowPart: Integer read Get_LowPart write Set_LowPart;
  4541.   published
  4542.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4543.     property Server: TLargeIntegerProperties read GetServerProperties;
  4544.     {$ENDIF}
  4545.   end;
  4546.  
  4547.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4548.   // *********************************************************************//
  4549.   // OLE Server Properties Proxy Class
  4550.   // Server Object    : TLargeInteger
  4551.   // (This object is used by the IDE's Property Inspector to allow editing
  4552.   //  of the properties of this server)
  4553.   // *********************************************************************//
  4554.   TLargeIntegerProperties = class(TPersistent)
  4555.   private
  4556.     FServer: TLargeInteger;
  4557.     function GetDefaultInterface: IADsLargeInteger;
  4558.     constructor Create(AServer: TLargeInteger);
  4559.   protected
  4560.     function Get_HighPart: Integer;
  4561.     procedure Set_HighPart(retval: Integer);
  4562.     function Get_LowPart: Integer;
  4563.     procedure Set_LowPart(retval: Integer);
  4564.   public
  4565.     property DefaultInterface: IADsLargeInteger read GetDefaultInterface;
  4566.   published
  4567.     property HighPart: Integer read Get_HighPart write Set_HighPart;
  4568.     property LowPart: Integer read Get_LowPart write Set_LowPart;
  4569.   end;
  4570.   {$ENDIF}
  4571.  
  4572.   // *********************************************************************//
  4573.   // The Class CoNameTranslate provides a Create and CreateRemote method to
  4574.   // create instances of the default interface IADsNameTranslate exposed by
  4575.   // the CoClass NameTranslate. The functions are intended to be used by
  4576.   // clients wishing to automate the CoClass objects exposed by the
  4577.   // server of this typelibrary.
  4578.   // *********************************************************************//
  4579.   CoNameTranslate = class
  4580.     class function Create: IADsNameTranslate;
  4581.     class function CreateRemote(const MachineName: string): IADsNameTranslate;
  4582.   end;
  4583.  
  4584.   // *********************************************************************//
  4585.   // OLE Server Proxy class declaration
  4586.   // Server Object    : TNameTranslate
  4587.   // Help String      :
  4588.   // Default Interface: IADsNameTranslate
  4589.   // Def. Intf. DISP? : No
  4590.   // Event   Interface:
  4591.   // TypeFlags        : (2) CanCreate
  4592.   // *********************************************************************//
  4593.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4594.   TNameTranslateProperties = class;
  4595.   {$ENDIF}
  4596.   TNameTranslate = class(TOleServer)
  4597.   private
  4598.     FIntf: IADsNameTranslate;
  4599.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4600.     FProps: TNameTranslateProperties;
  4601.     function GetServerProperties: TNameTranslateProperties;
  4602.     {$ENDIF}
  4603.     function GetDefaultInterface: IADsNameTranslate;
  4604.   protected
  4605.     procedure InitServerData; override;
  4606.     procedure Set_ChaseReferral(Param1: Integer);
  4607.   public
  4608.     constructor Create(AOwner: TComponent); override;
  4609.     destructor Destroy; override;
  4610.     procedure Connect; override;
  4611.     procedure ConnectTo(svrIntf: IADsNameTranslate);
  4612.     procedure Disconnect; override;
  4613.     procedure Init(lnSetType: Integer; const bstrADsPath: WideString);
  4614.     procedure InitEx(lnSetType: Integer; const bstrADsPath: WideString;
  4615.       const bstrUserID: WideString; const bstrDomain: WideString;
  4616.       const bstrPassword: WideString);
  4617.     procedure Set_(lnSetType: Integer; const bstrADsPath: WideString);
  4618.     function Get(lnFormatType: Integer): WideString;
  4619.     procedure SetEx(lnFormatType: Integer; pVar: OleVariant);
  4620.     function GetEx(lnFormatType: Integer): OleVariant;
  4621.     property DefaultInterface: IADsNameTranslate read GetDefaultInterface;
  4622.     property ChaseReferral: Integer write Set_ChaseReferral;
  4623.   published
  4624.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4625.     property Server: TNameTranslateProperties read GetServerProperties;
  4626.     {$ENDIF}
  4627.   end;
  4628.  
  4629.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4630.   // *********************************************************************//
  4631.   // OLE Server Properties Proxy Class
  4632.   // Server Object    : TNameTranslate
  4633.   // (This object is used by the IDE's Property Inspector to allow editing
  4634.   //  of the properties of this server)
  4635.   // *********************************************************************//
  4636.   TNameTranslateProperties = class(TPersistent)
  4637.   private
  4638.     FServer: TNameTranslate;
  4639.     function GetDefaultInterface: IADsNameTranslate;
  4640.     constructor Create(AServer: TNameTranslate);
  4641.   protected
  4642.     procedure Set_ChaseReferral(Param1: Integer);
  4643.   public
  4644.     property DefaultInterface: IADsNameTranslate read GetDefaultInterface;
  4645.   published
  4646.   end;
  4647.   {$ENDIF}
  4648.  
  4649.   // *********************************************************************//
  4650.   // The Class CoCaseIgnoreList provides a Create and CreateRemote method to
  4651.   // create instances of the default interface IADsCaseIgnoreList exposed by
  4652.   // the CoClass CaseIgnoreList. The functions are intended to be used by
  4653.   // clients wishing to automate the CoClass objects exposed by the
  4654.   // server of this typelibrary.
  4655.   // *********************************************************************//
  4656.   CoCaseIgnoreList = class
  4657.     class function Create: IADsCaseIgnoreList;
  4658.     class function CreateRemote(const MachineName: string): IADsCaseIgnoreList;
  4659.   end;
  4660.  
  4661.   // *********************************************************************//
  4662.   // OLE Server Proxy class declaration
  4663.   // Server Object    : TCaseIgnoreList
  4664.   // Help String      :
  4665.   // Default Interface: IADsCaseIgnoreList
  4666.   // Def. Intf. DISP? : No
  4667.   // Event   Interface:
  4668.   // TypeFlags        : (2) CanCreate
  4669.   // *********************************************************************//
  4670.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4671.   TCaseIgnoreListProperties = class;
  4672.   {$ENDIF}
  4673.   TCaseIgnoreList = class(TOleServer)
  4674.   private
  4675.     FIntf: IADsCaseIgnoreList;
  4676.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4677.     FProps: TCaseIgnoreListProperties;
  4678.     function GetServerProperties: TCaseIgnoreListProperties;
  4679.     {$ENDIF}
  4680.     function GetDefaultInterface: IADsCaseIgnoreList;
  4681.   protected
  4682.     procedure InitServerData; override;
  4683.     function Get_CaseIgnoreList: OleVariant;
  4684.     procedure Set_CaseIgnoreList(retval: OleVariant);
  4685.   public
  4686.     constructor Create(AOwner: TComponent); override;
  4687.     destructor Destroy; override;
  4688.     procedure Connect; override;
  4689.     procedure ConnectTo(svrIntf: IADsCaseIgnoreList);
  4690.     procedure Disconnect; override;
  4691.     property DefaultInterface: IADsCaseIgnoreList read GetDefaultInterface;
  4692.     property CaseIgnoreList: OleVariant read Get_CaseIgnoreList write Set_CaseIgnoreList;
  4693.   published
  4694.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4695.     property Server: TCaseIgnoreListProperties read GetServerProperties;
  4696.     {$ENDIF}
  4697.   end;
  4698.  
  4699.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4700.   // *********************************************************************//
  4701.   // OLE Server Properties Proxy Class
  4702.   // Server Object    : TCaseIgnoreList
  4703.   // (This object is used by the IDE's Property Inspector to allow editing
  4704.   //  of the properties of this server)
  4705.   // *********************************************************************//
  4706.   TCaseIgnoreListProperties = class(TPersistent)
  4707.   private
  4708.     FServer: TCaseIgnoreList;
  4709.     function GetDefaultInterface: IADsCaseIgnoreList;
  4710.     constructor Create(AServer: TCaseIgnoreList);
  4711.   protected
  4712.     function Get_CaseIgnoreList: OleVariant;
  4713.     procedure Set_CaseIgnoreList(retval: OleVariant);
  4714.   public
  4715.     property DefaultInterface: IADsCaseIgnoreList read GetDefaultInterface;
  4716.   published
  4717.   end;
  4718.   {$ENDIF}
  4719.  
  4720.   // *********************************************************************//
  4721.   // The Class CoFaxNumber provides a Create and CreateRemote method to
  4722.   // create instances of the default interface IADsFaxNumber exposed by
  4723.   // the CoClass FaxNumber. The functions are intended to be used by
  4724.   // clients wishing to automate the CoClass objects exposed by the
  4725.   // server of this typelibrary.
  4726.   // *********************************************************************//
  4727.   CoFaxNumber = class
  4728.     class function Create: IADsFaxNumber;
  4729.     class function CreateRemote(const MachineName: string): IADsFaxNumber;
  4730.   end;
  4731.  
  4732.   // *********************************************************************//
  4733.   // OLE Server Proxy class declaration
  4734.   // Server Object    : TFaxNumber
  4735.   // Help String      :
  4736.   // Default Interface: IADsFaxNumber
  4737.   // Def. Intf. DISP? : No
  4738.   // Event   Interface:
  4739.   // TypeFlags        : (2) CanCreate
  4740.   // *********************************************************************//
  4741.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4742.   TFaxNumberProperties = class;
  4743.   {$ENDIF}
  4744.   TFaxNumber = class(TOleServer)
  4745.   private
  4746.     FIntf: IADsFaxNumber;
  4747.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4748.     FProps: TFaxNumberProperties;
  4749.     function GetServerProperties: TFaxNumberProperties;
  4750.     {$ENDIF}
  4751.     function GetDefaultInterface: IADsFaxNumber;
  4752.   protected
  4753.     procedure InitServerData; override;
  4754.     function Get_TelephoneNumber: WideString;
  4755.     procedure Set_TelephoneNumber(const retval: WideString);
  4756.     function Get_Parameters: OleVariant;
  4757.     procedure Set_Parameters(retval: OleVariant);
  4758.   public
  4759.     constructor Create(AOwner: TComponent); override;
  4760.     destructor Destroy; override;
  4761.     procedure Connect; override;
  4762.     procedure ConnectTo(svrIntf: IADsFaxNumber);
  4763.     procedure Disconnect; override;
  4764.     property DefaultInterface: IADsFaxNumber read GetDefaultInterface;
  4765.     property Parameters: OleVariant read Get_Parameters write Set_Parameters;
  4766.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  4767.   published
  4768.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4769.     property Server: TFaxNumberProperties read GetServerProperties;
  4770.     {$ENDIF}
  4771.   end;
  4772.  
  4773.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4774.   // *********************************************************************//
  4775.   // OLE Server Properties Proxy Class
  4776.   // Server Object    : TFaxNumber
  4777.   // (This object is used by the IDE's Property Inspector to allow editing
  4778.   //  of the properties of this server)
  4779.   // *********************************************************************//
  4780.   TFaxNumberProperties = class(TPersistent)
  4781.   private
  4782.     FServer: TFaxNumber;
  4783.     function GetDefaultInterface: IADsFaxNumber;
  4784.     constructor Create(AServer: TFaxNumber);
  4785.   protected
  4786.     function Get_TelephoneNumber: WideString;
  4787.     procedure Set_TelephoneNumber(const retval: WideString);
  4788.     function Get_Parameters: OleVariant;
  4789.     procedure Set_Parameters(retval: OleVariant);
  4790.   public
  4791.     property DefaultInterface: IADsFaxNumber read GetDefaultInterface;
  4792.   published
  4793.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  4794.   end;
  4795.   {$ENDIF}
  4796.  
  4797.   // *********************************************************************//
  4798.   // The Class CoNetAddress provides a Create and CreateRemote method to
  4799.   // create instances of the default interface IADsNetAddress exposed by
  4800.   // the CoClass NetAddress. The functions are intended to be used by
  4801.   // clients wishing to automate the CoClass objects exposed by the
  4802.   // server of this typelibrary.
  4803.   // *********************************************************************//
  4804.   CoNetAddress = class
  4805.     class function Create: IADsNetAddress;
  4806.     class function CreateRemote(const MachineName: string): IADsNetAddress;
  4807.   end;
  4808.  
  4809.   // *********************************************************************//
  4810.   // OLE Server Proxy class declaration
  4811.   // Server Object    : TNetAddress
  4812.   // Help String      :
  4813.   // Default Interface: IADsNetAddress
  4814.   // Def. Intf. DISP? : No
  4815.   // Event   Interface:
  4816.   // TypeFlags        : (2) CanCreate
  4817.   // *********************************************************************//
  4818.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4819.   TNetAddressProperties = class;
  4820.   {$ENDIF}
  4821.   TNetAddress = class(TOleServer)
  4822.   private
  4823.     FIntf: IADsNetAddress;
  4824.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4825.     FProps: TNetAddressProperties;
  4826.     function GetServerProperties: TNetAddressProperties;
  4827.     {$ENDIF}
  4828.     function GetDefaultInterface: IADsNetAddress;
  4829.   protected
  4830.     procedure InitServerData; override;
  4831.     function Get_AddressType: Integer;
  4832.     procedure Set_AddressType(retval: Integer);
  4833.     function Get_Address: OleVariant;
  4834.     procedure Set_Address(retval: OleVariant);
  4835.   public
  4836.     constructor Create(AOwner: TComponent); override;
  4837.     destructor Destroy; override;
  4838.     procedure Connect; override;
  4839.     procedure ConnectTo(svrIntf: IADsNetAddress);
  4840.     procedure Disconnect; override;
  4841.     property DefaultInterface: IADsNetAddress read GetDefaultInterface;
  4842.     property Address: OleVariant read Get_Address write Set_Address;
  4843.     property AddressType: Integer read Get_AddressType write Set_AddressType;
  4844.   published
  4845.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4846.     property Server: TNetAddressProperties read GetServerProperties;
  4847.     {$ENDIF}
  4848.   end;
  4849.  
  4850.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4851.   // *********************************************************************//
  4852.   // OLE Server Properties Proxy Class
  4853.   // Server Object    : TNetAddress
  4854.   // (This object is used by the IDE's Property Inspector to allow editing
  4855.   //  of the properties of this server)
  4856.   // *********************************************************************//
  4857.   TNetAddressProperties = class(TPersistent)
  4858.   private
  4859.     FServer: TNetAddress;
  4860.     function GetDefaultInterface: IADsNetAddress;
  4861.     constructor Create(AServer: TNetAddress);
  4862.   protected
  4863.     function Get_AddressType: Integer;
  4864.     procedure Set_AddressType(retval: Integer);
  4865.     function Get_Address: OleVariant;
  4866.     procedure Set_Address(retval: OleVariant);
  4867.   public
  4868.     property DefaultInterface: IADsNetAddress read GetDefaultInterface;
  4869.   published
  4870.     property AddressType: Integer read Get_AddressType write Set_AddressType;
  4871.   end;
  4872.   {$ENDIF}
  4873.  
  4874.   // *********************************************************************//
  4875.   // The Class CoOctetList provides a Create and CreateRemote method to
  4876.   // create instances of the default interface IADsOctetList exposed by
  4877.   // the CoClass OctetList. The functions are intended to be used by
  4878.   // clients wishing to automate the CoClass objects exposed by the
  4879.   // server of this typelibrary.
  4880.   // *********************************************************************//
  4881.   CoOctetList = class
  4882.     class function Create: IADsOctetList;
  4883.     class function CreateRemote(const MachineName: string): IADsOctetList;
  4884.   end;
  4885.  
  4886.   // *********************************************************************//
  4887.   // OLE Server Proxy class declaration
  4888.   // Server Object    : TOctetList
  4889.   // Help String      :
  4890.   // Default Interface: IADsOctetList
  4891.   // Def. Intf. DISP? : No
  4892.   // Event   Interface:
  4893.   // TypeFlags        : (2) CanCreate
  4894.   // *********************************************************************//
  4895.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4896.   TOctetListProperties = class;
  4897.   {$ENDIF}
  4898.   TOctetList = class(TOleServer)
  4899.   private
  4900.     FIntf: IADsOctetList;
  4901.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4902.     FProps: TOctetListProperties;
  4903.     function GetServerProperties: TOctetListProperties;
  4904.     {$ENDIF}
  4905.     function GetDefaultInterface: IADsOctetList;
  4906.   protected
  4907.     procedure InitServerData; override;
  4908.     function Get_OctetList: OleVariant;
  4909.     procedure Set_OctetList(retval: OleVariant);
  4910.   public
  4911.     constructor Create(AOwner: TComponent); override;
  4912.     destructor Destroy; override;
  4913.     procedure Connect; override;
  4914.     procedure ConnectTo(svrIntf: IADsOctetList);
  4915.     procedure Disconnect; override;
  4916.     property DefaultInterface: IADsOctetList read GetDefaultInterface;
  4917.     property OctetList: OleVariant read Get_OctetList write Set_OctetList;
  4918.   published
  4919.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4920.     property Server: TOctetListProperties read GetServerProperties;
  4921.     {$ENDIF}
  4922.   end;
  4923.  
  4924.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4925.   // *********************************************************************//
  4926.   // OLE Server Properties Proxy Class
  4927.   // Server Object    : TOctetList
  4928.   // (This object is used by the IDE's Property Inspector to allow editing
  4929.   //  of the properties of this server)
  4930.   // *********************************************************************//
  4931.   TOctetListProperties = class(TPersistent)
  4932.   private
  4933.     FServer: TOctetList;
  4934.     function GetDefaultInterface: IADsOctetList;
  4935.     constructor Create(AServer: TOctetList);
  4936.   protected
  4937.     function Get_OctetList: OleVariant;
  4938.     procedure Set_OctetList(retval: OleVariant);
  4939.   public
  4940.     property DefaultInterface: IADsOctetList read GetDefaultInterface;
  4941.   published
  4942.   end;
  4943.   {$ENDIF}
  4944.  
  4945.   // *********************************************************************//
  4946.   // The Class CoEmail provides a Create and CreateRemote method to
  4947.   // create instances of the default interface IADsEmail exposed by
  4948.   // the CoClass Email. The functions are intended to be used by
  4949.   // clients wishing to automate the CoClass objects exposed by the
  4950.   // server of this typelibrary.
  4951.   // *********************************************************************//
  4952.   CoEmail = class
  4953.     class function Create: IADsEmail;
  4954.     class function CreateRemote(const MachineName: string): IADsEmail;
  4955.   end;
  4956.  
  4957.   // *********************************************************************//
  4958.   // OLE Server Proxy class declaration
  4959.   // Server Object    : TEmail
  4960.   // Help String      :
  4961.   // Default Interface: IADsEmail
  4962.   // Def. Intf. DISP? : No
  4963.   // Event   Interface:
  4964.   // TypeFlags        : (2) CanCreate
  4965.   // *********************************************************************//
  4966.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4967.   TEmailProperties = class;
  4968.   {$ENDIF}
  4969.   TEmail = class(TOleServer)
  4970.   private
  4971.     FIntf: IADsEmail;
  4972.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4973.     FProps: TEmailProperties;
  4974.     function GetServerProperties: TEmailProperties;
  4975.     {$ENDIF}
  4976.     function GetDefaultInterface: IADsEmail;
  4977.   protected
  4978.     procedure InitServerData; override;
  4979.     function Get_Type_: Integer;
  4980.     procedure Set_Type_(retval: Integer);
  4981.     function Get_Address: WideString;
  4982.     procedure Set_Address(const retval: WideString);
  4983.   public
  4984.     constructor Create(AOwner: TComponent); override;
  4985.     destructor Destroy; override;
  4986.     procedure Connect; override;
  4987.     procedure ConnectTo(svrIntf: IADsEmail);
  4988.     procedure Disconnect; override;
  4989.     property DefaultInterface: IADsEmail read GetDefaultInterface;
  4990.     property Type_: Integer read Get_Type_ write Set_Type_;
  4991.     property Address: WideString read Get_Address write Set_Address;
  4992.   published
  4993.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4994.     property Server: TEmailProperties read GetServerProperties;
  4995.     {$ENDIF}
  4996.   end;
  4997.  
  4998.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  4999.   // *********************************************************************//
  5000.   // OLE Server Properties Proxy Class
  5001.   // Server Object    : TEmail
  5002.   // (This object is used by the IDE's Property Inspector to allow editing
  5003.   //  of the properties of this server)
  5004.   // *********************************************************************//
  5005.   TEmailProperties = class(TPersistent)
  5006.   private
  5007.     FServer: TEmail;
  5008.     function GetDefaultInterface: IADsEmail;
  5009.     constructor Create(AServer: TEmail);
  5010.   protected
  5011.     function Get_Type_: Integer;
  5012.     procedure Set_Type_(retval: Integer);
  5013.     function Get_Address: WideString;
  5014.     procedure Set_Address(const retval: WideString);
  5015.   public
  5016.     property DefaultInterface: IADsEmail read GetDefaultInterface;
  5017.   published
  5018.     property Type_: Integer read Get_Type_ write Set_Type_;
  5019.     property Address: WideString read Get_Address write Set_Address;
  5020.   end;
  5021.   {$ENDIF}
  5022.  
  5023.   // *********************************************************************//
  5024.   // The Class CoPath provides a Create and CreateRemote method to
  5025.   // create instances of the default interface IADsPath exposed by
  5026.   // the CoClass Path. The functions are intended to be used by
  5027.   // clients wishing to automate the CoClass objects exposed by the
  5028.   // server of this typelibrary.
  5029.   // *********************************************************************//
  5030.   CoPath = class
  5031.     class function Create: IADsPath;
  5032.     class function CreateRemote(const MachineName: string): IADsPath;
  5033.   end;
  5034.  
  5035.   // *********************************************************************//
  5036.   // OLE Server Proxy class declaration
  5037.   // Server Object    : TPath
  5038.   // Help String      :
  5039.   // Default Interface: IADsPath
  5040.   // Def. Intf. DISP? : No
  5041.   // Event   Interface:
  5042.   // TypeFlags        : (2) CanCreate
  5043.   // *********************************************************************//
  5044.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5045.   TPathProperties = class;
  5046.   {$ENDIF}
  5047.   TPath = class(TOleServer)
  5048.   private
  5049.     FIntf: IADsPath;
  5050.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5051.     FProps: TPathProperties;
  5052.     function GetServerProperties: TPathProperties;
  5053.     {$ENDIF}
  5054.     function GetDefaultInterface: IADsPath;
  5055.   protected
  5056.     procedure InitServerData; override;
  5057.     function Get_Type_: Integer;
  5058.     procedure Set_Type_(retval: Integer);
  5059.     function Get_VolumeName: WideString;
  5060.     procedure Set_VolumeName(const retval: WideString);
  5061.     function Get_Path: WideString;
  5062.     procedure Set_Path(const retval: WideString);
  5063.   public
  5064.     constructor Create(AOwner: TComponent); override;
  5065.     destructor Destroy; override;
  5066.     procedure Connect; override;
  5067.     procedure ConnectTo(svrIntf: IADsPath);
  5068.     procedure Disconnect; override;
  5069.     property DefaultInterface: IADsPath read GetDefaultInterface;
  5070.     property Type_: Integer read Get_Type_ write Set_Type_;
  5071.     property VolumeName: WideString read Get_VolumeName write Set_VolumeName;
  5072.     property Path: WideString read Get_Path write Set_Path;
  5073.   published
  5074.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5075.     property Server: TPathProperties read GetServerProperties;
  5076.     {$ENDIF}
  5077.   end;
  5078.  
  5079.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5080.   // *********************************************************************//
  5081.   // OLE Server Properties Proxy Class
  5082.   // Server Object    : TPath
  5083.   // (This object is used by the IDE's Property Inspector to allow editing
  5084.   //  of the properties of this server)
  5085.   // *********************************************************************//
  5086.   TPathProperties = class(TPersistent)
  5087.   private
  5088.     FServer: TPath;
  5089.     function GetDefaultInterface: IADsPath;
  5090.     constructor Create(AServer: TPath);
  5091.   protected
  5092.     function Get_Type_: Integer;
  5093.     procedure Set_Type_(retval: Integer);
  5094.     function Get_VolumeName: WideString;
  5095.     procedure Set_VolumeName(const retval: WideString);
  5096.     function Get_Path: WideString;
  5097.     procedure Set_Path(const retval: WideString);
  5098.   public
  5099.     property DefaultInterface: IADsPath read GetDefaultInterface;
  5100.   published
  5101.     property Type_: Integer read Get_Type_ write Set_Type_;
  5102.     property VolumeName: WideString read Get_VolumeName write Set_VolumeName;
  5103.     property Path: WideString read Get_Path write Set_Path;
  5104.   end;
  5105.   {$ENDIF}
  5106.  
  5107.   // *********************************************************************//
  5108.   // The Class CoReplicaPointer provides a Create and CreateRemote method to
  5109.   // create instances of the default interface IADsReplicaPointer exposed by
  5110.   // the CoClass ReplicaPointer. The functions are intended to be used by
  5111.   // clients wishing to automate the CoClass objects exposed by the
  5112.   // server of this typelibrary.
  5113.   // *********************************************************************//
  5114.   CoReplicaPointer = class
  5115.     class function Create: IADsReplicaPointer;
  5116.     class function CreateRemote(const MachineName: string): IADsReplicaPointer;
  5117.   end;
  5118.  
  5119.   // *********************************************************************//
  5120.   // OLE Server Proxy class declaration
  5121.   // Server Object    : TReplicaPointer
  5122.   // Help String      :
  5123.   // Default Interface: IADsReplicaPointer
  5124.   // Def. Intf. DISP? : No
  5125.   // Event   Interface:
  5126.   // TypeFlags        : (2) CanCreate
  5127.   // *********************************************************************//
  5128.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5129.   TReplicaPointerProperties = class;
  5130.   {$ENDIF}
  5131.   TReplicaPointer = class(TOleServer)
  5132.   private
  5133.     FIntf: IADsReplicaPointer;
  5134.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5135.     FProps: TReplicaPointerProperties;
  5136.     function GetServerProperties: TReplicaPointerProperties;
  5137.     {$ENDIF}
  5138.     function GetDefaultInterface: IADsReplicaPointer;
  5139.   protected
  5140.     procedure InitServerData; override;
  5141.     function Get_ServerName: WideString;
  5142.     procedure Set_ServerName(const retval: WideString);
  5143.     function Get_ReplicaType: Integer;
  5144.     procedure Set_ReplicaType(retval: Integer);
  5145.     function Get_ReplicaNumber: Integer;
  5146.     procedure Set_ReplicaNumber(retval: Integer);
  5147.     function Get_Count: Integer;
  5148.     procedure Set_Count(retval: Integer);
  5149.     function Get_ReplicaAddressHints: OleVariant;
  5150.     procedure Set_ReplicaAddressHints(retval: OleVariant);
  5151.   public
  5152.     constructor Create(AOwner: TComponent); override;
  5153.     destructor Destroy; override;
  5154.     procedure Connect; override;
  5155.     procedure ConnectTo(svrIntf: IADsReplicaPointer);
  5156.     procedure Disconnect; override;
  5157.     property DefaultInterface: IADsReplicaPointer read GetDefaultInterface;
  5158.     property ReplicaAddressHints: OleVariant read Get_ReplicaAddressHints write Set_ReplicaAddressHints;
  5159.     property ServerName: WideString read Get_ServerName write Set_ServerName;
  5160.     property ReplicaType: Integer read Get_ReplicaType write Set_ReplicaType;
  5161.     property ReplicaNumber: Integer read Get_ReplicaNumber write Set_ReplicaNumber;
  5162.     property Count: Integer read Get_Count write Set_Count;
  5163.   published
  5164.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5165.     property Server: TReplicaPointerProperties read GetServerProperties;
  5166.     {$ENDIF}
  5167.   end;
  5168.  
  5169.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5170.   // *********************************************************************//
  5171.   // OLE Server Properties Proxy Class
  5172.   // Server Object    : TReplicaPointer
  5173.   // (This object is used by the IDE's Property Inspector to allow editing
  5174.   //  of the properties of this server)
  5175.   // *********************************************************************//
  5176.   TReplicaPointerProperties = class(TPersistent)
  5177.   private
  5178.     FServer: TReplicaPointer;
  5179.     function GetDefaultInterface: IADsReplicaPointer;
  5180.     constructor Create(AServer: TReplicaPointer);
  5181.   protected
  5182.     function Get_ServerName: WideString;
  5183.     procedure Set_ServerName(const retval: WideString);
  5184.     function Get_ReplicaType: Integer;
  5185.     procedure Set_ReplicaType(retval: Integer);
  5186.     function Get_ReplicaNumber: Integer;
  5187.     procedure Set_ReplicaNumber(retval: Integer);
  5188.     function Get_Count: Integer;
  5189.     procedure Set_Count(retval: Integer);
  5190.     function Get_ReplicaAddressHints: OleVariant;
  5191.     procedure Set_ReplicaAddressHints(retval: OleVariant);
  5192.   public
  5193.     property DefaultInterface: IADsReplicaPointer read GetDefaultInterface;
  5194.   published
  5195.     property ServerName: WideString read Get_ServerName write Set_ServerName;
  5196.     property ReplicaType: Integer read Get_ReplicaType write Set_ReplicaType;
  5197.     property ReplicaNumber: Integer read Get_ReplicaNumber write Set_ReplicaNumber;
  5198.     property Count: Integer read Get_Count write Set_Count;
  5199.   end;
  5200.   {$ENDIF}
  5201.  
  5202.   // *********************************************************************//
  5203.   // The Class CoAcl provides a Create and CreateRemote method to
  5204.   // create instances of the default interface IADsAcl exposed by
  5205.   // the CoClass Acl. The functions are intended to be used by
  5206.   // clients wishing to automate the CoClass objects exposed by the
  5207.   // server of this typelibrary.
  5208.   // *********************************************************************//
  5209.   CoAcl = class
  5210.     class function Create: IADsAcl;
  5211.     class function CreateRemote(const MachineName: string): IADsAcl;
  5212.   end;
  5213.  
  5214.   // *********************************************************************//
  5215.   // OLE Server Proxy class declaration
  5216.   // Server Object    : TAcl
  5217.   // Help String      :
  5218.   // Default Interface: IADsAcl
  5219.   // Def. Intf. DISP? : No
  5220.   // Event   Interface:
  5221.   // TypeFlags        : (2) CanCreate
  5222.   // *********************************************************************//
  5223.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5224.   TAclProperties = class;
  5225.   {$ENDIF}
  5226.   TAcl = class(TOleServer)
  5227.   private
  5228.     FIntf: IADsAcl;
  5229.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5230.     FProps: TAclProperties;
  5231.     function GetServerProperties: TAclProperties;
  5232.     {$ENDIF}
  5233.     function GetDefaultInterface: IADsAcl;
  5234.   protected
  5235.     procedure InitServerData; override;
  5236.     function Get_ProtectedAttrName: WideString;
  5237.     procedure Set_ProtectedAttrName(const retval: WideString);
  5238.     function Get_SubjectName: WideString;
  5239.     procedure Set_SubjectName(const retval: WideString);
  5240.     function Get_Privileges: Integer;
  5241.     procedure Set_Privileges(retval: Integer);
  5242.   public
  5243.     constructor Create(AOwner: TComponent); override;
  5244.     destructor Destroy; override;
  5245.     procedure Connect; override;
  5246.     procedure ConnectTo(svrIntf: IADsAcl);
  5247.     procedure Disconnect; override;
  5248.     function CopyAcl: IDispatch;
  5249.     property DefaultInterface: IADsAcl read GetDefaultInterface;
  5250.     property ProtectedAttrName: WideString read Get_ProtectedAttrName write Set_ProtectedAttrName;
  5251.     property SubjectName: WideString read Get_SubjectName write Set_SubjectName;
  5252.     property Privileges: Integer read Get_Privileges write Set_Privileges;
  5253.   published
  5254.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5255.     property Server: TAclProperties read GetServerProperties;
  5256.     {$ENDIF}
  5257.   end;
  5258.  
  5259.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5260.   // *********************************************************************//
  5261.   // OLE Server Properties Proxy Class
  5262.   // Server Object    : TAcl
  5263.   // (This object is used by the IDE's Property Inspector to allow editing
  5264.   //  of the properties of this server)
  5265.   // *********************************************************************//
  5266.   TAclProperties = class(TPersistent)
  5267.   private
  5268.     FServer: TAcl;
  5269.     function GetDefaultInterface: IADsAcl;
  5270.     constructor Create(AServer: TAcl);
  5271.   protected
  5272.     function Get_ProtectedAttrName: WideString;
  5273.     procedure Set_ProtectedAttrName(const retval: WideString);
  5274.     function Get_SubjectName: WideString;
  5275.     procedure Set_SubjectName(const retval: WideString);
  5276.     function Get_Privileges: Integer;
  5277.     procedure Set_Privileges(retval: Integer);
  5278.   public
  5279.     property DefaultInterface: IADsAcl read GetDefaultInterface;
  5280.   published
  5281.     property ProtectedAttrName: WideString read Get_ProtectedAttrName write Set_ProtectedAttrName;
  5282.     property SubjectName: WideString read Get_SubjectName write Set_SubjectName;
  5283.     property Privileges: Integer read Get_Privileges write Set_Privileges;
  5284.   end;
  5285.   {$ENDIF}
  5286.  
  5287.   // *********************************************************************//
  5288.   // The Class CoTimestamp provides a Create and CreateRemote method to
  5289.   // create instances of the default interface IADsTimestamp exposed by
  5290.   // the CoClass Timestamp. The functions are intended to be used by
  5291.   // clients wishing to automate the CoClass objects exposed by the
  5292.   // server of this typelibrary.
  5293.   // *********************************************************************//
  5294.   CoTimestamp = class
  5295.     class function Create: IADsTimestamp;
  5296.     class function CreateRemote(const MachineName: string): IADsTimestamp;
  5297.   end;
  5298.  
  5299.   // *********************************************************************//
  5300.   // OLE Server Proxy class declaration
  5301.   // Server Object    : TTimestamp
  5302.   // Help String      :
  5303.   // Default Interface: IADsTimestamp
  5304.   // Def. Intf. DISP? : No
  5305.   // Event   Interface:
  5306.   // TypeFlags        : (2) CanCreate
  5307.   // *********************************************************************//
  5308.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5309.   TTimestampProperties = class;
  5310.   {$ENDIF}
  5311.   TTimestamp = class(TOleServer)
  5312.   private
  5313.     FIntf: IADsTimestamp;
  5314.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5315.     FProps: TTimestampProperties;
  5316.     function GetServerProperties: TTimestampProperties;
  5317.     {$ENDIF}
  5318.     function GetDefaultInterface: IADsTimestamp;
  5319.   protected
  5320.     procedure InitServerData; override;
  5321.     function Get_WholeSeconds: Integer;
  5322.     procedure Set_WholeSeconds(retval: Integer);
  5323.     function Get_EventID: Integer;
  5324.     procedure Set_EventID(retval: Integer);
  5325.   public
  5326.     constructor Create(AOwner: TComponent); override;
  5327.     destructor Destroy; override;
  5328.     procedure Connect; override;
  5329.     procedure ConnectTo(svrIntf: IADsTimestamp);
  5330.     procedure Disconnect; override;
  5331.     property DefaultInterface: IADsTimestamp read GetDefaultInterface;
  5332.     property WholeSeconds: Integer read Get_WholeSeconds write Set_WholeSeconds;
  5333.     property EventID: Integer read Get_EventID write Set_EventID;
  5334.   published
  5335.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5336.     property Server: TTimestampProperties read GetServerProperties;
  5337.     {$ENDIF}
  5338.   end;
  5339.  
  5340.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5341.   // *********************************************************************//
  5342.   // OLE Server Properties Proxy Class
  5343.   // Server Object    : TTimestamp
  5344.   // (This object is used by the IDE's Property Inspector to allow editing
  5345.   //  of the properties of this server)
  5346.   // *********************************************************************//
  5347.   TTimestampProperties = class(TPersistent)
  5348.   private
  5349.     FServer: TTimestamp;
  5350.     function GetDefaultInterface: IADsTimestamp;
  5351.     constructor Create(AServer: TTimestamp);
  5352.   protected
  5353.     function Get_WholeSeconds: Integer;
  5354.     procedure Set_WholeSeconds(retval: Integer);
  5355.     function Get_EventID: Integer;
  5356.     procedure Set_EventID(retval: Integer);
  5357.   public
  5358.     property DefaultInterface: IADsTimestamp read GetDefaultInterface;
  5359.   published
  5360.     property WholeSeconds: Integer read Get_WholeSeconds write Set_WholeSeconds;
  5361.     property EventID: Integer read Get_EventID write Set_EventID;
  5362.   end;
  5363.   {$ENDIF}
  5364.  
  5365.   // *********************************************************************//
  5366.   // The Class CoPostalAddress provides a Create and CreateRemote method to
  5367.   // create instances of the default interface IADsPostalAddress exposed by
  5368.   // the CoClass PostalAddress. The functions are intended to be used by
  5369.   // clients wishing to automate the CoClass objects exposed by the
  5370.   // server of this typelibrary.
  5371.   // *********************************************************************//
  5372.   CoPostalAddress = class
  5373.     class function Create: IADsPostalAddress;
  5374.     class function CreateRemote(const MachineName: string): IADsPostalAddress;
  5375.   end;
  5376.  
  5377.   // *********************************************************************//
  5378.   // OLE Server Proxy class declaration
  5379.   // Server Object    : TPostalAddress
  5380.   // Help String      :
  5381.   // Default Interface: IADsPostalAddress
  5382.   // Def. Intf. DISP? : No
  5383.   // Event   Interface:
  5384.   // TypeFlags        : (2) CanCreate
  5385.   // *********************************************************************//
  5386.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5387.   TPostalAddressProperties = class;
  5388.   {$ENDIF}
  5389.   TPostalAddress = class(TOleServer)
  5390.   private
  5391.     FIntf: IADsPostalAddress;
  5392.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5393.     FProps: TPostalAddressProperties;
  5394.     function GetServerProperties: TPostalAddressProperties;
  5395.     {$ENDIF}
  5396.     function GetDefaultInterface: IADsPostalAddress;
  5397.   protected
  5398.     procedure InitServerData; override;
  5399.     function Get_PostalAddress: OleVariant;
  5400.     procedure Set_PostalAddress(retval: OleVariant);
  5401.   public
  5402.     constructor Create(AOwner: TComponent); override;
  5403.     destructor Destroy; override;
  5404.     procedure Connect; override;
  5405.     procedure ConnectTo(svrIntf: IADsPostalAddress);
  5406.     procedure Disconnect; override;
  5407.     property DefaultInterface: IADsPostalAddress read GetDefaultInterface;
  5408.     property PostalAddress: OleVariant read Get_PostalAddress write Set_PostalAddress;
  5409.   published
  5410.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5411.     property Server: TPostalAddressProperties read GetServerProperties;
  5412.     {$ENDIF}
  5413.   end;
  5414.  
  5415.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5416.   // *********************************************************************//
  5417.   // OLE Server Properties Proxy Class
  5418.   // Server Object    : TPostalAddress
  5419.   // (This object is used by the IDE's Property Inspector to allow editing
  5420.   //  of the properties of this server)
  5421.   // *********************************************************************//
  5422.   TPostalAddressProperties = class(TPersistent)
  5423.   private
  5424.     FServer: TPostalAddress;
  5425.     function GetDefaultInterface: IADsPostalAddress;
  5426.     constructor Create(AServer: TPostalAddress);
  5427.   protected
  5428.     function Get_PostalAddress: OleVariant;
  5429.     procedure Set_PostalAddress(retval: OleVariant);
  5430.   public
  5431.     property DefaultInterface: IADsPostalAddress read GetDefaultInterface;
  5432.   published
  5433.   end;
  5434.   {$ENDIF}
  5435.  
  5436.   // *********************************************************************//
  5437.   // The Class CoBackLink provides a Create and CreateRemote method to
  5438.   // create instances of the default interface IADsBackLink exposed by
  5439.   // the CoClass BackLink. The functions are intended to be used by
  5440.   // clients wishing to automate the CoClass objects exposed by the
  5441.   // server of this typelibrary.
  5442.   // *********************************************************************//
  5443.   CoBackLink = class
  5444.     class function Create: IADsBackLink;
  5445.     class function CreateRemote(const MachineName: string): IADsBackLink;
  5446.   end;
  5447.  
  5448.   // *********************************************************************//
  5449.   // OLE Server Proxy class declaration
  5450.   // Server Object    : TBackLink
  5451.   // Help String      :
  5452.   // Default Interface: IADsBackLink
  5453.   // Def. Intf. DISP? : No
  5454.   // Event   Interface:
  5455.   // TypeFlags        : (2) CanCreate
  5456.   // *********************************************************************//
  5457.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5458.   TBackLinkProperties = class;
  5459.   {$ENDIF}
  5460.   TBackLink = class(TOleServer)
  5461.   private
  5462.     FIntf: IADsBackLink;
  5463.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5464.     FProps: TBackLinkProperties;
  5465.     function GetServerProperties: TBackLinkProperties;
  5466.     {$ENDIF}
  5467.     function GetDefaultInterface: IADsBackLink;
  5468.   protected
  5469.     procedure InitServerData; override;
  5470.     function Get_RemoteID: Integer;
  5471.     procedure Set_RemoteID(retval: Integer);
  5472.     function Get_ObjectName: WideString;
  5473.     procedure Set_ObjectName(const retval: WideString);
  5474.   public
  5475.     constructor Create(AOwner: TComponent); override;
  5476.     destructor Destroy; override;
  5477.     procedure Connect; override;
  5478.     procedure ConnectTo(svrIntf: IADsBackLink);
  5479.     procedure Disconnect; override;
  5480.     property DefaultInterface: IADsBackLink read GetDefaultInterface;
  5481.     property RemoteID: Integer read Get_RemoteID write Set_RemoteID;
  5482.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  5483.   published
  5484.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5485.     property Server: TBackLinkProperties read GetServerProperties;
  5486.     {$ENDIF}
  5487.   end;
  5488.  
  5489.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5490.   // *********************************************************************//
  5491.   // OLE Server Properties Proxy Class
  5492.   // Server Object    : TBackLink
  5493.   // (This object is used by the IDE's Property Inspector to allow editing
  5494.   //  of the properties of this server)
  5495.   // *********************************************************************//
  5496.   TBackLinkProperties = class(TPersistent)
  5497.   private
  5498.     FServer: TBackLink;
  5499.     function GetDefaultInterface: IADsBackLink;
  5500.     constructor Create(AServer: TBackLink);
  5501.   protected
  5502.     function Get_RemoteID: Integer;
  5503.     procedure Set_RemoteID(retval: Integer);
  5504.     function Get_ObjectName: WideString;
  5505.     procedure Set_ObjectName(const retval: WideString);
  5506.   public
  5507.     property DefaultInterface: IADsBackLink read GetDefaultInterface;
  5508.   published
  5509.     property RemoteID: Integer read Get_RemoteID write Set_RemoteID;
  5510.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  5511.   end;
  5512.   {$ENDIF}
  5513.  
  5514.   // *********************************************************************//
  5515.   // The Class CoTypedName provides a Create and CreateRemote method to
  5516.   // create instances of the default interface IADsTypedName exposed by
  5517.   // the CoClass TypedName. The functions are intended to be used by
  5518.   // clients wishing to automate the CoClass objects exposed by the
  5519.   // server of this typelibrary.
  5520.   // *********************************************************************//
  5521.   CoTypedName = class
  5522.     class function Create: IADsTypedName;
  5523.     class function CreateRemote(const MachineName: string): IADsTypedName;
  5524.   end;
  5525.  
  5526.   // *********************************************************************//
  5527.   // OLE Server Proxy class declaration
  5528.   // Server Object    : TTypedName
  5529.   // Help String      :
  5530.   // Default Interface: IADsTypedName
  5531.   // Def. Intf. DISP? : No
  5532.   // Event   Interface:
  5533.   // TypeFlags        : (2) CanCreate
  5534.   // *********************************************************************//
  5535.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5536.   TTypedNameProperties = class;
  5537.   {$ENDIF}
  5538.   TTypedName = class(TOleServer)
  5539.   private
  5540.     FIntf: IADsTypedName;
  5541.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5542.     FProps: TTypedNameProperties;
  5543.     function GetServerProperties: TTypedNameProperties;
  5544.     {$ENDIF}
  5545.     function GetDefaultInterface: IADsTypedName;
  5546.   protected
  5547.     procedure InitServerData; override;
  5548.     function Get_ObjectName: WideString;
  5549.     procedure Set_ObjectName(const retval: WideString);
  5550.     function Get_Level: Integer;
  5551.     procedure Set_Level(retval: Integer);
  5552.     function Get_Interval: Integer;
  5553.     procedure Set_Interval(retval: Integer);
  5554.   public
  5555.     constructor Create(AOwner: TComponent); override;
  5556.     destructor Destroy; override;
  5557.     procedure Connect; override;
  5558.     procedure ConnectTo(svrIntf: IADsTypedName);
  5559.     procedure Disconnect; override;
  5560.     property DefaultInterface: IADsTypedName read GetDefaultInterface;
  5561.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  5562.     property Level: Integer read Get_Level write Set_Level;
  5563.     property Interval: Integer read Get_Interval write Set_Interval;
  5564.   published
  5565.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5566.     property Server: TTypedNameProperties read GetServerProperties;
  5567.     {$ENDIF}
  5568.   end;
  5569.  
  5570.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5571.   // *********************************************************************//
  5572.   // OLE Server Properties Proxy Class
  5573.   // Server Object    : TTypedName
  5574.   // (This object is used by the IDE's Property Inspector to allow editing
  5575.   //  of the properties of this server)
  5576.   // *********************************************************************//
  5577.   TTypedNameProperties = class(TPersistent)
  5578.   private
  5579.     FServer: TTypedName;
  5580.     function GetDefaultInterface: IADsTypedName;
  5581.     constructor Create(AServer: TTypedName);
  5582.   protected
  5583.     function Get_ObjectName: WideString;
  5584.     procedure Set_ObjectName(const retval: WideString);
  5585.     function Get_Level: Integer;
  5586.     procedure Set_Level(retval: Integer);
  5587.     function Get_Interval: Integer;
  5588.     procedure Set_Interval(retval: Integer);
  5589.   public
  5590.     property DefaultInterface: IADsTypedName read GetDefaultInterface;
  5591.   published
  5592.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  5593.     property Level: Integer read Get_Level write Set_Level;
  5594.     property Interval: Integer read Get_Interval write Set_Interval;
  5595.   end;
  5596.   {$ENDIF}
  5597.  
  5598.   // *********************************************************************//
  5599.   // The Class CoHold provides a Create and CreateRemote method to
  5600.   // create instances of the default interface IADsHold exposed by
  5601.   // the CoClass Hold. The functions are intended to be used by
  5602.   // clients wishing to automate the CoClass objects exposed by the
  5603.   // server of this typelibrary.
  5604.   // *********************************************************************//
  5605.   CoHold = class
  5606.     class function Create: IADsHold;
  5607.     class function CreateRemote(const MachineName: string): IADsHold;
  5608.   end;
  5609.  
  5610.   // *********************************************************************//
  5611.   // OLE Server Proxy class declaration
  5612.   // Server Object    : THold
  5613.   // Help String      :
  5614.   // Default Interface: IADsHold
  5615.   // Def. Intf. DISP? : No
  5616.   // Event   Interface:
  5617.   // TypeFlags        : (2) CanCreate
  5618.   // *********************************************************************//
  5619.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5620.   THoldProperties = class;
  5621.   {$ENDIF}
  5622.   THold = class(TOleServer)
  5623.   private
  5624.     FIntf: IADsHold;
  5625.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5626.     FProps: THoldProperties;
  5627.     function GetServerProperties: THoldProperties;
  5628.     {$ENDIF}
  5629.     function GetDefaultInterface: IADsHold;
  5630.   protected
  5631.     procedure InitServerData; override;
  5632.     function Get_ObjectName: WideString;
  5633.     procedure Set_ObjectName(const retval: WideString);
  5634.     function Get_Amount: Integer;
  5635.     procedure Set_Amount(retval: Integer);
  5636.   public
  5637.     constructor Create(AOwner: TComponent); override;
  5638.     destructor Destroy; override;
  5639.     procedure Connect; override;
  5640.     procedure ConnectTo(svrIntf: IADsHold);
  5641.     procedure Disconnect; override;
  5642.     property DefaultInterface: IADsHold read GetDefaultInterface;
  5643.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  5644.     property Amount: Integer read Get_Amount write Set_Amount;
  5645.   published
  5646.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5647.     property Server: THoldProperties read GetServerProperties;
  5648.     {$ENDIF}
  5649.   end;
  5650.  
  5651.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5652.   // *********************************************************************//
  5653.   // OLE Server Properties Proxy Class
  5654.   // Server Object    : THold
  5655.   // (This object is used by the IDE's Property Inspector to allow editing
  5656.   //  of the properties of this server)
  5657.   // *********************************************************************//
  5658.   THoldProperties = class(TPersistent)
  5659.   private
  5660.     FServer: THold;
  5661.     function GetDefaultInterface: IADsHold;
  5662.     constructor Create(AServer: THold);
  5663.   protected
  5664.     function Get_ObjectName: WideString;
  5665.     procedure Set_ObjectName(const retval: WideString);
  5666.     function Get_Amount: Integer;
  5667.     procedure Set_Amount(retval: Integer);
  5668.   public
  5669.     property DefaultInterface: IADsHold read GetDefaultInterface;
  5670.   published
  5671.     property ObjectName: WideString read Get_ObjectName write Set_ObjectName;
  5672.     property Amount: Integer read Get_Amount write Set_Amount;
  5673.   end;
  5674.   {$ENDIF}
  5675.  
  5676.   // *********************************************************************//
  5677.   // The Class CoPathname provides a Create and CreateRemote method to
  5678.   // create instances of the default interface IADsPathname exposed by
  5679.   // the CoClass Pathname. The functions are intended to be used by
  5680.   // clients wishing to automate the CoClass objects exposed by the
  5681.   // server of this typelibrary.
  5682.   // *********************************************************************//
  5683.   CoPathname = class
  5684.     class function Create: IADsPathname;
  5685.     class function CreateRemote(const MachineName: string): IADsPathname;
  5686.   end;
  5687.  
  5688.   // *********************************************************************//
  5689.   // OLE Server Proxy class declaration
  5690.   // Server Object    : TPathname
  5691.   // Help String      :
  5692.   // Default Interface: IADsPathname
  5693.   // Def. Intf. DISP? : No
  5694.   // Event   Interface:
  5695.   // TypeFlags        : (2) CanCreate
  5696.   // *********************************************************************//
  5697.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5698.   TPathnameProperties = class;
  5699.   {$ENDIF}
  5700.   TPathname = class(TOleServer)
  5701.   private
  5702.     FIntf: IADsPathname;
  5703.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5704.     FProps: TPathnameProperties;
  5705.     function GetServerProperties: TPathnameProperties;
  5706.     {$ENDIF}
  5707.     function GetDefaultInterface: IADsPathname;
  5708.   protected
  5709.     procedure InitServerData; override;
  5710.     function Get_EscapedMode: Integer;
  5711.     procedure Set_EscapedMode(retval: Integer);
  5712.   public
  5713.     constructor Create(AOwner: TComponent); override;
  5714.     destructor Destroy; override;
  5715.     procedure Connect; override;
  5716.     procedure ConnectTo(svrIntf: IADsPathname);
  5717.     procedure Disconnect; override;
  5718.     procedure Set_(const bstrADsPath: WideString; lnSetType: Integer);
  5719.     procedure SetDisplayType(lnDisplayType: Integer);
  5720.     function Retrieve(lnFormatType: Integer): WideString;
  5721.     function GetNumElements: Integer;
  5722.     function GetElement(lnElementIndex: Integer): WideString;
  5723.     procedure AddLeafElement(const bstrLeafElement: WideString);
  5724.     procedure RemoveLeafElement;
  5725.     function CopyPath: IDispatch;
  5726.     function GetEscapedElement(lnReserved: Integer; const bstrInStr: WideString): WideString;
  5727.     property DefaultInterface: IADsPathname read GetDefaultInterface;
  5728.     property EscapedMode: Integer read Get_EscapedMode write Set_EscapedMode;
  5729.   published
  5730.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5731.     property Server: TPathnameProperties read GetServerProperties;
  5732.     {$ENDIF}
  5733.   end;
  5734.  
  5735.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5736.   // *********************************************************************//
  5737.   // OLE Server Properties Proxy Class
  5738.   // Server Object    : TPathname
  5739.   // (This object is used by the IDE's Property Inspector to allow editing
  5740.   //  of the properties of this server)
  5741.   // *********************************************************************//
  5742.   TPathnameProperties = class(TPersistent)
  5743.   private
  5744.     FServer: TPathname;
  5745.     function GetDefaultInterface: IADsPathname;
  5746.     constructor Create(AServer: TPathname);
  5747.   protected
  5748.     function Get_EscapedMode: Integer;
  5749.     procedure Set_EscapedMode(retval: Integer);
  5750.   public
  5751.     property DefaultInterface: IADsPathname read GetDefaultInterface;
  5752.   published
  5753.     property EscapedMode: Integer read Get_EscapedMode write Set_EscapedMode;
  5754.   end;
  5755.   {$ENDIF}
  5756.  
  5757.   // *********************************************************************//
  5758.   // The Class CoADSystemInfo provides a Create and CreateRemote method to
  5759.   // create instances of the default interface IADsADSystemInfo exposed by
  5760.   // the CoClass ADSystemInfo. The functions are intended to be used by
  5761.   // clients wishing to automate the CoClass objects exposed by the
  5762.   // server of this typelibrary.
  5763.   // *********************************************************************//
  5764.   CoADSystemInfo = class
  5765.     class function Create: IADsADSystemInfo;
  5766.     class function CreateRemote(const MachineName: string): IADsADSystemInfo;
  5767.   end;
  5768.  
  5769.   // *********************************************************************//
  5770.   // OLE Server Proxy class declaration
  5771.   // Server Object    : TADSystemInfo
  5772.   // Help String      :
  5773.   // Default Interface: IADsADSystemInfo
  5774.   // Def. Intf. DISP? : No
  5775.   // Event   Interface:
  5776.   // TypeFlags        : (2) CanCreate
  5777.   // *********************************************************************//
  5778.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5779.   TADSystemInfoProperties = class;
  5780.   {$ENDIF}
  5781.   TADSystemInfo = class(TOleServer)
  5782.   private
  5783.     FIntf: IADsADSystemInfo;
  5784.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5785.     FProps: TADSystemInfoProperties;
  5786.     function GetServerProperties: TADSystemInfoProperties;
  5787.     {$ENDIF}
  5788.     function GetDefaultInterface: IADsADSystemInfo;
  5789.   protected
  5790.     procedure InitServerData; override;
  5791.     function Get_UserName: WideString;
  5792.     function Get_ComputerName: WideString;
  5793.     function Get_SiteName: WideString;
  5794.     function Get_DomainShortName: WideString;
  5795.     function Get_DomainDNSName: WideString;
  5796.     function Get_ForestDNSName: WideString;
  5797.     function Get_PDCRoleOwner: WideString;
  5798.     function Get_SchemaRoleOwner: WideString;
  5799.     function Get_IsNativeMode: WordBool;
  5800.   public
  5801.     constructor Create(AOwner: TComponent); override;
  5802.     destructor Destroy; override;
  5803.     procedure Connect; override;
  5804.     procedure ConnectTo(svrIntf: IADsADSystemInfo);
  5805.     procedure Disconnect; override;
  5806.     function GetAnyDCName: WideString;
  5807.     function GetDCSiteName(const szServer: WideString): WideString;
  5808.     procedure RefreshSchemaCache;
  5809.     function GetTrees: OleVariant;
  5810.     property DefaultInterface: IADsADSystemInfo read GetDefaultInterface;
  5811.     property UserName: WideString read Get_UserName;
  5812.     property ComputerName: WideString read Get_ComputerName;
  5813.     property SiteName: WideString read Get_SiteName;
  5814.     property DomainShortName: WideString read Get_DomainShortName;
  5815.     property DomainDNSName: WideString read Get_DomainDNSName;
  5816.     property ForestDNSName: WideString read Get_ForestDNSName;
  5817.     property PDCRoleOwner: WideString read Get_PDCRoleOwner;
  5818.     property SchemaRoleOwner: WideString read Get_SchemaRoleOwner;
  5819.     property IsNativeMode: WordBool read Get_IsNativeMode;
  5820.   published
  5821.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5822.     property Server: TADSystemInfoProperties read GetServerProperties;
  5823.     {$ENDIF}
  5824.   end;
  5825.  
  5826.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5827.   // *********************************************************************//
  5828.   // OLE Server Properties Proxy Class
  5829.   // Server Object    : TADSystemInfo
  5830.   // (This object is used by the IDE's Property Inspector to allow editing
  5831.   //  of the properties of this server)
  5832.   // *********************************************************************//
  5833.   TADSystemInfoProperties = class(TPersistent)
  5834.   private
  5835.     FServer: TADSystemInfo;
  5836.     function GetDefaultInterface: IADsADSystemInfo;
  5837.     constructor Create(AServer: TADSystemInfo);
  5838.   protected
  5839.     function Get_UserName: WideString;
  5840.     function Get_ComputerName: WideString;
  5841.     function Get_SiteName: WideString;
  5842.     function Get_DomainShortName: WideString;
  5843.     function Get_DomainDNSName: WideString;
  5844.     function Get_ForestDNSName: WideString;
  5845.     function Get_PDCRoleOwner: WideString;
  5846.     function Get_SchemaRoleOwner: WideString;
  5847.     function Get_IsNativeMode: WordBool;
  5848.   public
  5849.     property DefaultInterface: IADsADSystemInfo read GetDefaultInterface;
  5850.   published
  5851.   end;
  5852.   {$ENDIF}
  5853.  
  5854.   // *********************************************************************//
  5855.   // The Class CoWinNTSystemInfo provides a Create and CreateRemote method to
  5856.   // create instances of the default interface IADsWinNTSystemInfo exposed by
  5857.   // the CoClass WinNTSystemInfo. The functions are intended to be used by
  5858.   // clients wishing to automate the CoClass objects exposed by the
  5859.   // server of this typelibrary.
  5860.   // *********************************************************************//
  5861.   CoWinNTSystemInfo = class
  5862.     class function Create: IADsWinNTSystemInfo;
  5863.     class function CreateRemote(const MachineName: string): IADsWinNTSystemInfo;
  5864.   end;
  5865.  
  5866.   // *********************************************************************//
  5867.   // OLE Server Proxy class declaration
  5868.   // Server Object    : TWinNTSystemInfo
  5869.   // Help String      :
  5870.   // Default Interface: IADsWinNTSystemInfo
  5871.   // Def. Intf. DISP? : No
  5872.   // Event   Interface:
  5873.   // TypeFlags        : (2) CanCreate
  5874.   // *********************************************************************//
  5875.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5876.   TWinNTSystemInfoProperties = class;
  5877.   {$ENDIF}
  5878.   TWinNTSystemInfo = class(TOleServer)
  5879.   private
  5880.     FIntf: IADsWinNTSystemInfo;
  5881.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5882.     FProps: TWinNTSystemInfoProperties;
  5883.     function GetServerProperties: TWinNTSystemInfoProperties;
  5884.     {$ENDIF}
  5885.     function GetDefaultInterface: IADsWinNTSystemInfo;
  5886.   protected
  5887.     procedure InitServerData; override;
  5888.     function Get_UserName: WideString;
  5889.     function Get_ComputerName: WideString;
  5890.     function Get_DomainName: WideString;
  5891.     function Get_PDC: WideString;
  5892.   public
  5893.     constructor Create(AOwner: TComponent); override;
  5894.     destructor Destroy; override;
  5895.     procedure Connect; override;
  5896.     procedure ConnectTo(svrIntf: IADsWinNTSystemInfo);
  5897.     procedure Disconnect; override;
  5898.     property DefaultInterface: IADsWinNTSystemInfo read GetDefaultInterface;
  5899.     property UserName: WideString read Get_UserName;
  5900.     property ComputerName: WideString read Get_ComputerName;
  5901.     property DomainName: WideString read Get_DomainName;
  5902.     property PDC: WideString read Get_PDC;
  5903.   published
  5904.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5905.     property Server: TWinNTSystemInfoProperties read GetServerProperties;
  5906.     {$ENDIF}
  5907.   end;
  5908.  
  5909.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5910.   // *********************************************************************//
  5911.   // OLE Server Properties Proxy Class
  5912.   // Server Object    : TWinNTSystemInfo
  5913.   // (This object is used by the IDE's Property Inspector to allow editing
  5914.   //  of the properties of this server)
  5915.   // *********************************************************************//
  5916.   TWinNTSystemInfoProperties = class(TPersistent)
  5917.   private
  5918.     FServer: TWinNTSystemInfo;
  5919.     function GetDefaultInterface: IADsWinNTSystemInfo;
  5920.     constructor Create(AServer: TWinNTSystemInfo);
  5921.   protected
  5922.     function Get_UserName: WideString;
  5923.     function Get_ComputerName: WideString;
  5924.     function Get_DomainName: WideString;
  5925.     function Get_PDC: WideString;
  5926.   public
  5927.     property DefaultInterface: IADsWinNTSystemInfo read GetDefaultInterface;
  5928.   published
  5929.   end;
  5930.   {$ENDIF}
  5931.  
  5932.   // *********************************************************************//
  5933.   // The Class CoDNWithBinary provides a Create and CreateRemote method to
  5934.   // create instances of the default interface IADsDNWithBinary exposed by
  5935.   // the CoClass DNWithBinary. The functions are intended to be used by
  5936.   // clients wishing to automate the CoClass objects exposed by the
  5937.   // server of this typelibrary.
  5938.   // *********************************************************************//
  5939.   CoDNWithBinary = class
  5940.     class function Create: IADsDNWithBinary;
  5941.     class function CreateRemote(const MachineName: string): IADsDNWithBinary;
  5942.   end;
  5943.  
  5944.   // *********************************************************************//
  5945.   // OLE Server Proxy class declaration
  5946.   // Server Object    : TDNWithBinary
  5947.   // Help String      :
  5948.   // Default Interface: IADsDNWithBinary
  5949.   // Def. Intf. DISP? : No
  5950.   // Event   Interface:
  5951.   // TypeFlags        : (2) CanCreate
  5952.   // *********************************************************************//
  5953.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5954.   TDNWithBinaryProperties = class;
  5955.   {$ENDIF}
  5956.   TDNWithBinary = class(TOleServer)
  5957.   private
  5958.     FIntf: IADsDNWithBinary;
  5959.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5960.     FProps: TDNWithBinaryProperties;
  5961.     function GetServerProperties: TDNWithBinaryProperties;
  5962.     {$ENDIF}
  5963.     function GetDefaultInterface: IADsDNWithBinary;
  5964.   protected
  5965.     procedure InitServerData; override;
  5966.     function Get_BinaryValue: OleVariant;
  5967.     procedure Set_BinaryValue(retval: OleVariant);
  5968.     function Get_DNString: WideString;
  5969.     procedure Set_DNString(const retval: WideString);
  5970.   public
  5971.     constructor Create(AOwner: TComponent); override;
  5972.     destructor Destroy; override;
  5973.     procedure Connect; override;
  5974.     procedure ConnectTo(svrIntf: IADsDNWithBinary);
  5975.     procedure Disconnect; override;
  5976.     property DefaultInterface: IADsDNWithBinary read GetDefaultInterface;
  5977.     property BinaryValue: OleVariant read Get_BinaryValue write Set_BinaryValue;
  5978.     property DNString: WideString read Get_DNString write Set_DNString;
  5979.   published
  5980.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5981.     property Server: TDNWithBinaryProperties read GetServerProperties;
  5982.     {$ENDIF}
  5983.   end;
  5984.  
  5985.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  5986.   // *********************************************************************//
  5987.   // OLE Server Properties Proxy Class
  5988.   // Server Object    : TDNWithBinary
  5989.   // (This object is used by the IDE's Property Inspector to allow editing
  5990.   //  of the properties of this server)
  5991.   // *********************************************************************//
  5992.   TDNWithBinaryProperties = class(TPersistent)
  5993.   private
  5994.     FServer: TDNWithBinary;
  5995.     function GetDefaultInterface: IADsDNWithBinary;
  5996.     constructor Create(AServer: TDNWithBinary);
  5997.   protected
  5998.     function Get_BinaryValue: OleVariant;
  5999.     procedure Set_BinaryValue(retval: OleVariant);
  6000.     function Get_DNString: WideString;
  6001.     procedure Set_DNString(const retval: WideString);
  6002.   public
  6003.     property DefaultInterface: IADsDNWithBinary read GetDefaultInterface;
  6004.   published
  6005.     property DNString: WideString read Get_DNString write Set_DNString;
  6006.   end;
  6007.   {$ENDIF}
  6008.  
  6009.   // *********************************************************************//
  6010.   // The Class CoDNWithString provides a Create and CreateRemote method to
  6011.   // create instances of the default interface IADsDNWithString exposed by
  6012.   // the CoClass DNWithString. The functions are intended to be used by
  6013.   // clients wishing to automate the CoClass objects exposed by the
  6014.   // server of this typelibrary.
  6015.   // *********************************************************************//
  6016.   CoDNWithString = class
  6017.     class function Create: IADsDNWithString;
  6018.     class function CreateRemote(const MachineName: string): IADsDNWithString;
  6019.   end;
  6020.  
  6021.   // *********************************************************************//
  6022.   // OLE Server Proxy class declaration
  6023.   // Server Object    : TDNWithString
  6024.   // Help String      :
  6025.   // Default Interface: IADsDNWithString
  6026.   // Def. Intf. DISP? : No
  6027.   // Event   Interface:
  6028.   // TypeFlags        : (2) CanCreate
  6029.   // *********************************************************************//
  6030.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6031.   TDNWithStringProperties = class;
  6032.   {$ENDIF}
  6033.   TDNWithString = class(TOleServer)
  6034.   private
  6035.     FIntf: IADsDNWithString;
  6036.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6037.     FProps: TDNWithStringProperties;
  6038.     function GetServerProperties: TDNWithStringProperties;
  6039.     {$ENDIF}
  6040.     function GetDefaultInterface: IADsDNWithString;
  6041.   protected
  6042.     procedure InitServerData; override;
  6043.     function Get_StringValue: WideString;
  6044.     procedure Set_StringValue(const retval: WideString);
  6045.     function Get_DNString: WideString;
  6046.     procedure Set_DNString(const retval: WideString);
  6047.   public
  6048.     constructor Create(AOwner: TComponent); override;
  6049.     destructor Destroy; override;
  6050.     procedure Connect; override;
  6051.     procedure ConnectTo(svrIntf: IADsDNWithString);
  6052.     procedure Disconnect; override;
  6053.     property DefaultInterface: IADsDNWithString read GetDefaultInterface;
  6054.     property StringValue: WideString read Get_StringValue write Set_StringValue;
  6055.     property DNString: WideString read Get_DNString write Set_DNString;
  6056.   published
  6057.     {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6058.     property Server: TDNWithStringProperties read GetServerProperties;
  6059.     {$ENDIF}
  6060.   end;
  6061.  
  6062.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6063.   // *********************************************************************//
  6064.   // OLE Server Properties Proxy Class
  6065.   // Server Object    : TDNWithString
  6066.   // (This object is used by the IDE's Property Inspector to allow editing
  6067.   //  of the properties of this server)
  6068.   // *********************************************************************//
  6069.   TDNWithStringProperties = class(TPersistent)
  6070.   private
  6071.     FServer: TDNWithString;
  6072.     function GetDefaultInterface: IADsDNWithString;
  6073.     constructor Create(AServer: TDNWithString);
  6074.   protected
  6075.     function Get_StringValue: WideString;
  6076.     procedure Set_StringValue(const retval: WideString);
  6077.     function Get_DNString: WideString;
  6078.     procedure Set_DNString(const retval: WideString);
  6079.   public
  6080.     property DefaultInterface: IADsDNWithString read GetDefaultInterface;
  6081.   published
  6082.     property StringValue: WideString read Get_StringValue write Set_StringValue;
  6083.     property DNString: WideString read Get_DNString write Set_DNString;
  6084.   end;
  6085.   {$ENDIF}
  6086.  
  6087. procedure Register;
  6088.  
  6089. implementation
  6090.  
  6091. uses ComObj;
  6092.  
  6093. class function CoPropertyEntry.Create: IADsPropertyEntry;
  6094. begin
  6095.   Result := CreateComObject(CLASS_PropertyEntry) as IADsPropertyEntry;
  6096. end;
  6097.  
  6098. class function CoPropertyEntry.CreateRemote(const MachineName: string): IADsPropertyEntry;
  6099. begin
  6100.   Result := CreateRemoteComObject(MachineName, CLASS_PropertyEntry) as IADsPropertyEntry;
  6101. end;
  6102.  
  6103. procedure TPropertyEntry.InitServerData;
  6104. const
  6105.   CServerData: TServerData = (
  6106.     ClassID: '{72D3EDC2-A4C4-11D0-8533-00C04FD8D503}';
  6107.     IntfIID: '{05792C8E-941F-11D0-8529-00C04FD8D503}';
  6108.     EventIID: '';
  6109.     LicenseKey: nil;
  6110.     Version: 500);
  6111. begin
  6112.   ServerData := @CServerData;
  6113. end;
  6114.  
  6115. procedure TPropertyEntry.Connect;
  6116. var
  6117.   punk: IUnknown;
  6118. begin
  6119.   if FIntf = nil then begin
  6120.     punk := GetServer;
  6121.     Fintf := punk as IADsPropertyEntry;
  6122.   end;
  6123. end;
  6124.  
  6125. procedure TPropertyEntry.ConnectTo(svrIntf: IADsPropertyEntry);
  6126. begin
  6127.   Disconnect;
  6128.   FIntf := svrIntf;
  6129. end;
  6130.  
  6131. procedure TPropertyEntry.DisConnect;
  6132. begin
  6133.   if Fintf <> nil then begin
  6134.     FIntf := nil;
  6135.   end;
  6136. end;
  6137.  
  6138. function TPropertyEntry.GetDefaultInterface: IADsPropertyEntry;
  6139. begin
  6140.   if FIntf = nil then
  6141.     Connect;
  6142.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  6143.   Result := FIntf;
  6144. end;
  6145.  
  6146. constructor TPropertyEntry.Create(AOwner: TComponent);
  6147. begin
  6148.   inherited Create(AOwner);
  6149.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6150.   FProps := TPropertyEntryProperties.Create(Self);
  6151.   {$ENDIF}
  6152. end;
  6153.  
  6154. destructor TPropertyEntry.Destroy;
  6155. begin
  6156.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6157.   FProps.Free;
  6158.   {$ENDIF}
  6159.   inherited Destroy;
  6160. end;
  6161.  
  6162. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6163.  
  6164. function TPropertyEntry.GetServerProperties: TPropertyEntryProperties;
  6165. begin
  6166.   Result := FProps;
  6167. end;
  6168. {$ENDIF}
  6169.  
  6170. function TPropertyEntry.Get_Name: WideString;
  6171. begin
  6172.   Result := DefaultInterface.Get_Name;
  6173. end;
  6174.  
  6175. procedure TPropertyEntry.Set_Name(const retval: WideString);
  6176. begin
  6177.   DefaultInterface.Set_Name(retval);
  6178. end;
  6179.  
  6180. function TPropertyEntry.Get_ADsType: Integer;
  6181. begin
  6182.   Result := DefaultInterface.Get_ADsType;
  6183. end;
  6184.  
  6185. procedure TPropertyEntry.Set_ADsType(retval: Integer);
  6186. begin
  6187.   DefaultInterface.Set_ADsType(retval);
  6188. end;
  6189.  
  6190. function TPropertyEntry.Get_ControlCode: Integer;
  6191. begin
  6192.   Result := DefaultInterface.Get_ControlCode;
  6193. end;
  6194.  
  6195. procedure TPropertyEntry.Set_ControlCode(retval: Integer);
  6196. begin
  6197.   DefaultInterface.Set_ControlCode(retval);
  6198. end;
  6199.  
  6200. function TPropertyEntry.Get_Values: OleVariant;
  6201. begin
  6202.   Result := DefaultInterface.Get_Values;
  6203. end;
  6204.  
  6205. procedure TPropertyEntry.Set_Values(retval: OleVariant);
  6206. begin
  6207.   DefaultInterface.Set_Values(retval);
  6208. end;
  6209.  
  6210. procedure TPropertyEntry.Clear;
  6211. begin
  6212.   DefaultInterface.Clear;
  6213. end;
  6214.  
  6215. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6216.  
  6217. constructor TPropertyEntryProperties.Create(AServer: TPropertyEntry);
  6218. begin
  6219.   inherited Create;
  6220.   FServer := AServer;
  6221. end;
  6222.  
  6223. function TPropertyEntryProperties.GetDefaultInterface: IADsPropertyEntry;
  6224. begin
  6225.   Result := FServer.DefaultInterface;
  6226. end;
  6227.  
  6228. function TPropertyEntryProperties.Get_Name: WideString;
  6229. begin
  6230.   Result := DefaultInterface.Get_Name;
  6231. end;
  6232.  
  6233. procedure TPropertyEntryProperties.Set_Name(const retval: WideString);
  6234. begin
  6235.   DefaultInterface.Set_Name(retval);
  6236. end;
  6237.  
  6238. function TPropertyEntryProperties.Get_ADsType: Integer;
  6239. begin
  6240.   Result := DefaultInterface.Get_ADsType;
  6241. end;
  6242.  
  6243. procedure TPropertyEntryProperties.Set_ADsType(retval: Integer);
  6244. begin
  6245.   DefaultInterface.Set_ADsType(retval);
  6246. end;
  6247.  
  6248. function TPropertyEntryProperties.Get_ControlCode: Integer;
  6249. begin
  6250.   Result := DefaultInterface.Get_ControlCode;
  6251. end;
  6252.  
  6253. procedure TPropertyEntryProperties.Set_ControlCode(retval: Integer);
  6254. begin
  6255.   DefaultInterface.Set_ControlCode(retval);
  6256. end;
  6257.  
  6258. function TPropertyEntryProperties.Get_Values: OleVariant;
  6259. begin
  6260.   Result := DefaultInterface.Get_Values;
  6261. end;
  6262.  
  6263. procedure TPropertyEntryProperties.Set_Values(retval: OleVariant);
  6264. begin
  6265.   DefaultInterface.Set_Values(retval);
  6266. end;
  6267.  
  6268. {$ENDIF}
  6269.  
  6270. class function CoPropertyValue.Create: IADsPropertyValue;
  6271. begin
  6272.   Result := CreateComObject(CLASS_PropertyValue) as IADsPropertyValue;
  6273. end;
  6274.  
  6275. class function CoPropertyValue.CreateRemote(const MachineName: string): IADsPropertyValue;
  6276. begin
  6277.   Result := CreateRemoteComObject(MachineName, CLASS_PropertyValue) as IADsPropertyValue;
  6278. end;
  6279.  
  6280. procedure TPropertyValue.InitServerData;
  6281. const
  6282.   CServerData: TServerData = (
  6283.     ClassID: '{7B9E38B0-A97C-11D0-8534-00C04FD8D503}';
  6284.     IntfIID: '{79FA9AD0-A97C-11D0-8534-00C04FD8D503}';
  6285.     EventIID: '';
  6286.     LicenseKey: nil;
  6287.     Version: 500);
  6288. begin
  6289.   ServerData := @CServerData;
  6290. end;
  6291.  
  6292. procedure TPropertyValue.Connect;
  6293. var
  6294.   punk: IUnknown;
  6295. begin
  6296.   if FIntf = nil then begin
  6297.     punk := GetServer;
  6298.     Fintf := punk as IADsPropertyValue;
  6299.   end;
  6300. end;
  6301.  
  6302. procedure TPropertyValue.ConnectTo(svrIntf: IADsPropertyValue);
  6303. begin
  6304.   Disconnect;
  6305.   FIntf := svrIntf;
  6306. end;
  6307.  
  6308. procedure TPropertyValue.DisConnect;
  6309. begin
  6310.   if Fintf <> nil then begin
  6311.     FIntf := nil;
  6312.   end;
  6313. end;
  6314.  
  6315. function TPropertyValue.GetDefaultInterface: IADsPropertyValue;
  6316. begin
  6317.   if FIntf = nil then
  6318.     Connect;
  6319.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  6320.   Result := FIntf;
  6321. end;
  6322.  
  6323. constructor TPropertyValue.Create(AOwner: TComponent);
  6324. begin
  6325.   inherited Create(AOwner);
  6326.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6327.   FProps := TPropertyValueProperties.Create(Self);
  6328.   {$ENDIF}
  6329. end;
  6330.  
  6331. destructor TPropertyValue.Destroy;
  6332. begin
  6333.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6334.   FProps.Free;
  6335.   {$ENDIF}
  6336.   inherited Destroy;
  6337. end;
  6338.  
  6339. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6340.  
  6341. function TPropertyValue.GetServerProperties: TPropertyValueProperties;
  6342. begin
  6343.   Result := FProps;
  6344. end;
  6345. {$ENDIF}
  6346.  
  6347. function TPropertyValue.Get_ADsType: Integer;
  6348. begin
  6349.   Result := DefaultInterface.Get_ADsType;
  6350. end;
  6351.  
  6352. procedure TPropertyValue.Set_ADsType(retval: Integer);
  6353. begin
  6354.   DefaultInterface.Set_ADsType(retval);
  6355. end;
  6356.  
  6357. function TPropertyValue.Get_DNString: WideString;
  6358. begin
  6359.   Result := DefaultInterface.Get_DNString;
  6360. end;
  6361.  
  6362. procedure TPropertyValue.Set_DNString(const retval: WideString);
  6363. begin
  6364.   DefaultInterface.Set_DNString(retval);
  6365. end;
  6366.  
  6367. function TPropertyValue.Get_CaseExactString: WideString;
  6368. begin
  6369.   Result := DefaultInterface.Get_CaseExactString;
  6370. end;
  6371.  
  6372. procedure TPropertyValue.Set_CaseExactString(const retval: WideString);
  6373. begin
  6374.   DefaultInterface.Set_CaseExactString(retval);
  6375. end;
  6376.  
  6377. function TPropertyValue.Get_CaseIgnoreString: WideString;
  6378. begin
  6379.   Result := DefaultInterface.Get_CaseIgnoreString;
  6380. end;
  6381.  
  6382. procedure TPropertyValue.Set_CaseIgnoreString(const retval: WideString);
  6383. begin
  6384.   DefaultInterface.Set_CaseIgnoreString(retval);
  6385. end;
  6386.  
  6387. function TPropertyValue.Get_PrintableString: WideString;
  6388. begin
  6389.   Result := DefaultInterface.Get_PrintableString;
  6390. end;
  6391.  
  6392. procedure TPropertyValue.Set_PrintableString(const retval: WideString);
  6393. begin
  6394.   DefaultInterface.Set_PrintableString(retval);
  6395. end;
  6396.  
  6397. function TPropertyValue.Get_NumericString: WideString;
  6398. begin
  6399.   Result := DefaultInterface.Get_NumericString;
  6400. end;
  6401.  
  6402. procedure TPropertyValue.Set_NumericString(const retval: WideString);
  6403. begin
  6404.   DefaultInterface.Set_NumericString(retval);
  6405. end;
  6406.  
  6407. function TPropertyValue.Get_Boolean: Integer;
  6408. begin
  6409.   Result := DefaultInterface.Get_Boolean;
  6410. end;
  6411.  
  6412. procedure TPropertyValue.Set_Boolean(retval: Integer);
  6413. begin
  6414.   DefaultInterface.Set_Boolean(retval);
  6415. end;
  6416.  
  6417. function TPropertyValue.Get_Integer: Integer;
  6418. begin
  6419.   Result := DefaultInterface.Get_Integer;
  6420. end;
  6421.  
  6422. procedure TPropertyValue.Set_Integer(retval: Integer);
  6423. begin
  6424.   DefaultInterface.Set_Integer(retval);
  6425. end;
  6426.  
  6427. function TPropertyValue.Get_OctetString: OleVariant;
  6428. begin
  6429.   Result := DefaultInterface.Get_OctetString;
  6430. end;
  6431.  
  6432. procedure TPropertyValue.Set_OctetString(retval: OleVariant);
  6433. begin
  6434.   DefaultInterface.Set_OctetString(retval);
  6435. end;
  6436.  
  6437. function TPropertyValue.Get_SecurityDescriptor: IDispatch;
  6438. begin
  6439.   Result := DefaultInterface.Get_SecurityDescriptor;
  6440. end;
  6441.  
  6442. procedure TPropertyValue.Set_SecurityDescriptor(const retval: IDispatch);
  6443. begin
  6444.   DefaultInterface.Set_SecurityDescriptor(retval);
  6445. end;
  6446.  
  6447. function TPropertyValue.Get_LargeInteger: IDispatch;
  6448. begin
  6449.   Result := DefaultInterface.Get_LargeInteger;
  6450. end;
  6451.  
  6452. procedure TPropertyValue.Set_LargeInteger(const retval: IDispatch);
  6453. begin
  6454.   DefaultInterface.Set_LargeInteger(retval);
  6455. end;
  6456.  
  6457. function TPropertyValue.Get_UTCTime: TDateTime;
  6458. begin
  6459.   Result := DefaultInterface.Get_UTCTime;
  6460. end;
  6461.  
  6462. procedure TPropertyValue.Set_UTCTime(retval: TDateTime);
  6463. begin
  6464.   DefaultInterface.Set_UTCTime(retval);
  6465. end;
  6466.  
  6467. procedure TPropertyValue.Clear;
  6468. begin
  6469.   DefaultInterface.Clear;
  6470. end;
  6471.  
  6472. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6473.  
  6474. constructor TPropertyValueProperties.Create(AServer: TPropertyValue);
  6475. begin
  6476.   inherited Create;
  6477.   FServer := AServer;
  6478. end;
  6479.  
  6480. function TPropertyValueProperties.GetDefaultInterface: IADsPropertyValue;
  6481. begin
  6482.   Result := FServer.DefaultInterface;
  6483. end;
  6484.  
  6485. function TPropertyValueProperties.Get_ADsType: Integer;
  6486. begin
  6487.   Result := DefaultInterface.Get_ADsType;
  6488. end;
  6489.  
  6490. procedure TPropertyValueProperties.Set_ADsType(retval: Integer);
  6491. begin
  6492.   DefaultInterface.Set_ADsType(retval);
  6493. end;
  6494.  
  6495. function TPropertyValueProperties.Get_DNString: WideString;
  6496. begin
  6497.   Result := DefaultInterface.Get_DNString;
  6498. end;
  6499.  
  6500. procedure TPropertyValueProperties.Set_DNString(const retval: WideString);
  6501. begin
  6502.   DefaultInterface.Set_DNString(retval);
  6503. end;
  6504.  
  6505. function TPropertyValueProperties.Get_CaseExactString: WideString;
  6506. begin
  6507.   Result := DefaultInterface.Get_CaseExactString;
  6508. end;
  6509.  
  6510. procedure TPropertyValueProperties.Set_CaseExactString(const retval: WideString);
  6511. begin
  6512.   DefaultInterface.Set_CaseExactString(retval);
  6513. end;
  6514.  
  6515. function TPropertyValueProperties.Get_CaseIgnoreString: WideString;
  6516. begin
  6517.   Result := DefaultInterface.Get_CaseIgnoreString;
  6518. end;
  6519.  
  6520. procedure TPropertyValueProperties.Set_CaseIgnoreString(const retval: WideString);
  6521. begin
  6522.   DefaultInterface.Set_CaseIgnoreString(retval);
  6523. end;
  6524.  
  6525. function TPropertyValueProperties.Get_PrintableString: WideString;
  6526. begin
  6527.   Result := DefaultInterface.Get_PrintableString;
  6528. end;
  6529.  
  6530. procedure TPropertyValueProperties.Set_PrintableString(const retval: WideString);
  6531. begin
  6532.   DefaultInterface.Set_PrintableString(retval);
  6533. end;
  6534.  
  6535. function TPropertyValueProperties.Get_NumericString: WideString;
  6536. begin
  6537.   Result := DefaultInterface.Get_NumericString;
  6538. end;
  6539.  
  6540. procedure TPropertyValueProperties.Set_NumericString(const retval: WideString);
  6541. begin
  6542.   DefaultInterface.Set_NumericString(retval);
  6543. end;
  6544.  
  6545. function TPropertyValueProperties.Get_Boolean: Integer;
  6546. begin
  6547.   Result := DefaultInterface.Get_Boolean;
  6548. end;
  6549.  
  6550. procedure TPropertyValueProperties.Set_Boolean(retval: Integer);
  6551. begin
  6552.   DefaultInterface.Set_Boolean(retval);
  6553. end;
  6554.  
  6555. function TPropertyValueProperties.Get_Integer: Integer;
  6556. begin
  6557.   Result := DefaultInterface.Get_Integer;
  6558. end;
  6559.  
  6560. procedure TPropertyValueProperties.Set_Integer(retval: Integer);
  6561. begin
  6562.   DefaultInterface.Set_Integer(retval);
  6563. end;
  6564.  
  6565. function TPropertyValueProperties.Get_OctetString: OleVariant;
  6566. begin
  6567.   Result := DefaultInterface.Get_OctetString;
  6568. end;
  6569.  
  6570. procedure TPropertyValueProperties.Set_OctetString(retval: OleVariant);
  6571. begin
  6572.   DefaultInterface.Set_OctetString(retval);
  6573. end;
  6574.  
  6575. function TPropertyValueProperties.Get_SecurityDescriptor: IDispatch;
  6576. begin
  6577.   Result := DefaultInterface.Get_SecurityDescriptor;
  6578. end;
  6579.  
  6580. procedure TPropertyValueProperties.Set_SecurityDescriptor(const retval: IDispatch);
  6581. begin
  6582.   DefaultInterface.Set_SecurityDescriptor(retval);
  6583. end;
  6584.  
  6585. function TPropertyValueProperties.Get_LargeInteger: IDispatch;
  6586. begin
  6587.   Result := DefaultInterface.Get_LargeInteger;
  6588. end;
  6589.  
  6590. procedure TPropertyValueProperties.Set_LargeInteger(const retval: IDispatch);
  6591. begin
  6592.   DefaultInterface.Set_LargeInteger(retval);
  6593. end;
  6594.  
  6595. function TPropertyValueProperties.Get_UTCTime: TDateTime;
  6596. begin
  6597.   Result := DefaultInterface.Get_UTCTime;
  6598. end;
  6599.  
  6600. procedure TPropertyValueProperties.Set_UTCTime(retval: TDateTime);
  6601. begin
  6602.   DefaultInterface.Set_UTCTime(retval);
  6603. end;
  6604.  
  6605. {$ENDIF}
  6606.  
  6607. class function CoAccessControlEntry.Create: IADsAccessControlEntry;
  6608. begin
  6609.   Result := CreateComObject(CLASS_AccessControlEntry) as IADsAccessControlEntry;
  6610. end;
  6611.  
  6612. class function CoAccessControlEntry.CreateRemote(const MachineName: string): IADsAccessControlEntry;
  6613. begin
  6614.   Result := CreateRemoteComObject(MachineName, CLASS_AccessControlEntry) as IADsAccessControlEntry;
  6615. end;
  6616.  
  6617. procedure TAccessControlEntry.InitServerData;
  6618. const
  6619.   CServerData: TServerData = (
  6620.     ClassID: '{B75AC000-9BDD-11D0-852C-00C04FD8D503}';
  6621.     IntfIID: '{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}';
  6622.     EventIID: '';
  6623.     LicenseKey: nil;
  6624.     Version: 500);
  6625. begin
  6626.   ServerData := @CServerData;
  6627. end;
  6628.  
  6629. procedure TAccessControlEntry.Connect;
  6630. var
  6631.   punk: IUnknown;
  6632. begin
  6633.   if FIntf = nil then begin
  6634.     punk := GetServer;
  6635.     Fintf := punk as IADsAccessControlEntry;
  6636.   end;
  6637. end;
  6638.  
  6639. procedure TAccessControlEntry.ConnectTo(svrIntf: IADsAccessControlEntry);
  6640. begin
  6641.   Disconnect;
  6642.   FIntf := svrIntf;
  6643. end;
  6644.  
  6645. procedure TAccessControlEntry.DisConnect;
  6646. begin
  6647.   if Fintf <> nil then begin
  6648.     FIntf := nil;
  6649.   end;
  6650. end;
  6651.  
  6652. function TAccessControlEntry.GetDefaultInterface: IADsAccessControlEntry;
  6653. begin
  6654.   if FIntf = nil then
  6655.     Connect;
  6656.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  6657.   Result := FIntf;
  6658. end;
  6659.  
  6660. constructor TAccessControlEntry.Create(AOwner: TComponent);
  6661. begin
  6662.   inherited Create(AOwner);
  6663.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6664.   FProps := TAccessControlEntryProperties.Create(Self);
  6665.   {$ENDIF}
  6666. end;
  6667.  
  6668. destructor TAccessControlEntry.Destroy;
  6669. begin
  6670.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6671.   FProps.Free;
  6672.   {$ENDIF}
  6673.   inherited Destroy;
  6674. end;
  6675.  
  6676. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6677.  
  6678. function TAccessControlEntry.GetServerProperties: TAccessControlEntryProperties;
  6679. begin
  6680.   Result := FProps;
  6681. end;
  6682. {$ENDIF}
  6683.  
  6684. function TAccessControlEntry.Get_AccessMask: Integer;
  6685. begin
  6686.   Result := DefaultInterface.Get_AccessMask;
  6687. end;
  6688.  
  6689. procedure TAccessControlEntry.Set_AccessMask(retval: Integer);
  6690. begin
  6691.   DefaultInterface.Set_AccessMask(retval);
  6692. end;
  6693.  
  6694. function TAccessControlEntry.Get_AceType: Integer;
  6695. begin
  6696.   Result := DefaultInterface.Get_AceType;
  6697. end;
  6698.  
  6699. procedure TAccessControlEntry.Set_AceType(retval: Integer);
  6700. begin
  6701.   DefaultInterface.Set_AceType(retval);
  6702. end;
  6703.  
  6704. function TAccessControlEntry.Get_AceFlags: Integer;
  6705. begin
  6706.   Result := DefaultInterface.Get_AceFlags;
  6707. end;
  6708.  
  6709. procedure TAccessControlEntry.Set_AceFlags(retval: Integer);
  6710. begin
  6711.   DefaultInterface.Set_AceFlags(retval);
  6712. end;
  6713.  
  6714. function TAccessControlEntry.Get_Flags: Integer;
  6715. begin
  6716.   Result := DefaultInterface.Get_Flags;
  6717. end;
  6718.  
  6719. procedure TAccessControlEntry.Set_Flags(retval: Integer);
  6720. begin
  6721.   DefaultInterface.Set_Flags(retval);
  6722. end;
  6723.  
  6724. function TAccessControlEntry.Get_ObjectType: WideString;
  6725. begin
  6726.   Result := DefaultInterface.Get_ObjectType;
  6727. end;
  6728.  
  6729. procedure TAccessControlEntry.Set_ObjectType(const retval: WideString);
  6730. begin
  6731.   DefaultInterface.Set_ObjectType(retval);
  6732. end;
  6733.  
  6734. function TAccessControlEntry.Get_InheritedObjectType: WideString;
  6735. begin
  6736.   Result := DefaultInterface.Get_InheritedObjectType;
  6737. end;
  6738.  
  6739. procedure TAccessControlEntry.Set_InheritedObjectType(const retval: WideString);
  6740. begin
  6741.   DefaultInterface.Set_InheritedObjectType(retval);
  6742. end;
  6743.  
  6744. function TAccessControlEntry.Get_Trustee: WideString;
  6745. begin
  6746.   Result := DefaultInterface.Get_Trustee;
  6747. end;
  6748.  
  6749. procedure TAccessControlEntry.Set_Trustee(const retval: WideString);
  6750. begin
  6751.   DefaultInterface.Set_Trustee(retval);
  6752. end;
  6753.  
  6754. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6755.  
  6756. constructor TAccessControlEntryProperties.Create(AServer: TAccessControlEntry);
  6757. begin
  6758.   inherited Create;
  6759.   FServer := AServer;
  6760. end;
  6761.  
  6762. function TAccessControlEntryProperties.GetDefaultInterface: IADsAccessControlEntry;
  6763. begin
  6764.   Result := FServer.DefaultInterface;
  6765. end;
  6766.  
  6767. function TAccessControlEntryProperties.Get_AccessMask: Integer;
  6768. begin
  6769.   Result := DefaultInterface.Get_AccessMask;
  6770. end;
  6771.  
  6772. procedure TAccessControlEntryProperties.Set_AccessMask(retval: Integer);
  6773. begin
  6774.   DefaultInterface.Set_AccessMask(retval);
  6775. end;
  6776.  
  6777. function TAccessControlEntryProperties.Get_AceType: Integer;
  6778. begin
  6779.   Result := DefaultInterface.Get_AceType;
  6780. end;
  6781.  
  6782. procedure TAccessControlEntryProperties.Set_AceType(retval: Integer);
  6783. begin
  6784.   DefaultInterface.Set_AceType(retval);
  6785. end;
  6786.  
  6787. function TAccessControlEntryProperties.Get_AceFlags: Integer;
  6788. begin
  6789.   Result := DefaultInterface.Get_AceFlags;
  6790. end;
  6791.  
  6792. procedure TAccessControlEntryProperties.Set_AceFlags(retval: Integer);
  6793. begin
  6794.   DefaultInterface.Set_AceFlags(retval);
  6795. end;
  6796.  
  6797. function TAccessControlEntryProperties.Get_Flags: Integer;
  6798. begin
  6799.   Result := DefaultInterface.Get_Flags;
  6800. end;
  6801.  
  6802. procedure TAccessControlEntryProperties.Set_Flags(retval: Integer);
  6803. begin
  6804.   DefaultInterface.Set_Flags(retval);
  6805. end;
  6806.  
  6807. function TAccessControlEntryProperties.Get_ObjectType: WideString;
  6808. begin
  6809.   Result := DefaultInterface.Get_ObjectType;
  6810. end;
  6811.  
  6812. procedure TAccessControlEntryProperties.Set_ObjectType(const retval: WideString);
  6813. begin
  6814.   DefaultInterface.Set_ObjectType(retval);
  6815. end;
  6816.  
  6817. function TAccessControlEntryProperties.Get_InheritedObjectType: WideString;
  6818. begin
  6819.   Result := DefaultInterface.Get_InheritedObjectType;
  6820. end;
  6821.  
  6822. procedure TAccessControlEntryProperties.Set_InheritedObjectType(const retval: WideString);
  6823. begin
  6824.   DefaultInterface.Set_InheritedObjectType(retval);
  6825. end;
  6826.  
  6827. function TAccessControlEntryProperties.Get_Trustee: WideString;
  6828. begin
  6829.   Result := DefaultInterface.Get_Trustee;
  6830. end;
  6831.  
  6832. procedure TAccessControlEntryProperties.Set_Trustee(const retval: WideString);
  6833. begin
  6834.   DefaultInterface.Set_Trustee(retval);
  6835. end;
  6836.  
  6837. {$ENDIF}
  6838.  
  6839. class function CoAccessControlList.Create: IADsAccessControlList;
  6840. begin
  6841.   Result := CreateComObject(CLASS_AccessControlList) as IADsAccessControlList;
  6842. end;
  6843.  
  6844. class function CoAccessControlList.CreateRemote(const MachineName: string): IADsAccessControlList;
  6845. begin
  6846.   Result := CreateRemoteComObject(MachineName, CLASS_AccessControlList) as IADsAccessControlList;
  6847. end;
  6848.  
  6849. procedure TAccessControlList.InitServerData;
  6850. const
  6851.   CServerData: TServerData = (
  6852.     ClassID: '{B85EA052-9BDD-11D0-852C-00C04FD8D503}';
  6853.     IntfIID: '{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}';
  6854.     EventIID: '';
  6855.     LicenseKey: nil;
  6856.     Version: 500);
  6857. begin
  6858.   ServerData := @CServerData;
  6859. end;
  6860.  
  6861. procedure TAccessControlList.Connect;
  6862. var
  6863.   punk: IUnknown;
  6864. begin
  6865.   if FIntf = nil then begin
  6866.     punk := GetServer;
  6867.     Fintf := punk as IADsAccessControlList;
  6868.   end;
  6869. end;
  6870.  
  6871. procedure TAccessControlList.ConnectTo(svrIntf: IADsAccessControlList);
  6872. begin
  6873.   Disconnect;
  6874.   FIntf := svrIntf;
  6875. end;
  6876.  
  6877. procedure TAccessControlList.DisConnect;
  6878. begin
  6879.   if Fintf <> nil then begin
  6880.     FIntf := nil;
  6881.   end;
  6882. end;
  6883.  
  6884. function TAccessControlList.GetDefaultInterface: IADsAccessControlList;
  6885. begin
  6886.   if FIntf = nil then
  6887.     Connect;
  6888.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  6889.   Result := FIntf;
  6890. end;
  6891.  
  6892. constructor TAccessControlList.Create(AOwner: TComponent);
  6893. begin
  6894.   inherited Create(AOwner);
  6895.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6896.   FProps := TAccessControlListProperties.Create(Self);
  6897.   {$ENDIF}
  6898. end;
  6899.  
  6900. destructor TAccessControlList.Destroy;
  6901. begin
  6902.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6903.   FProps.Free;
  6904.   {$ENDIF}
  6905.   inherited Destroy;
  6906. end;
  6907.  
  6908. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6909.  
  6910. function TAccessControlList.GetServerProperties: TAccessControlListProperties;
  6911. begin
  6912.   Result := FProps;
  6913. end;
  6914. {$ENDIF}
  6915.  
  6916. function TAccessControlList.Get_AclRevision: Integer;
  6917. begin
  6918.   Result := DefaultInterface.Get_AclRevision;
  6919. end;
  6920.  
  6921. procedure TAccessControlList.Set_AclRevision(retval: Integer);
  6922. begin
  6923.   DefaultInterface.Set_AclRevision(retval);
  6924. end;
  6925.  
  6926. function TAccessControlList.Get_AceCount: Integer;
  6927. begin
  6928.   Result := DefaultInterface.Get_AceCount;
  6929. end;
  6930.  
  6931. procedure TAccessControlList.Set_AceCount(retval: Integer);
  6932. begin
  6933.   DefaultInterface.Set_AceCount(retval);
  6934. end;
  6935.  
  6936. procedure TAccessControlList.AddAce(const pAccessControlEntry: IDispatch);
  6937. begin
  6938.   DefaultInterface.AddAce(pAccessControlEntry);
  6939. end;
  6940.  
  6941. procedure TAccessControlList.RemoveAce(const pAccessControlEntry: IDispatch);
  6942. begin
  6943.   DefaultInterface.RemoveAce(pAccessControlEntry);
  6944. end;
  6945.  
  6946. function TAccessControlList.CopyAccessList: IDispatch;
  6947. begin
  6948.   Result := DefaultInterface.CopyAccessList;
  6949. end;
  6950.  
  6951. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  6952.  
  6953. constructor TAccessControlListProperties.Create(AServer: TAccessControlList);
  6954. begin
  6955.   inherited Create;
  6956.   FServer := AServer;
  6957. end;
  6958.  
  6959. function TAccessControlListProperties.GetDefaultInterface: IADsAccessControlList;
  6960. begin
  6961.   Result := FServer.DefaultInterface;
  6962. end;
  6963.  
  6964. function TAccessControlListProperties.Get_AclRevision: Integer;
  6965. begin
  6966.   Result := DefaultInterface.Get_AclRevision;
  6967. end;
  6968.  
  6969. procedure TAccessControlListProperties.Set_AclRevision(retval: Integer);
  6970. begin
  6971.   DefaultInterface.Set_AclRevision(retval);
  6972. end;
  6973.  
  6974. function TAccessControlListProperties.Get_AceCount: Integer;
  6975. begin
  6976.   Result := DefaultInterface.Get_AceCount;
  6977. end;
  6978.  
  6979. procedure TAccessControlListProperties.Set_AceCount(retval: Integer);
  6980. begin
  6981.   DefaultInterface.Set_AceCount(retval);
  6982. end;
  6983.  
  6984. {$ENDIF}
  6985.  
  6986. class function CoSecurityDescriptor.Create: IADsSecurityDescriptor;
  6987. begin
  6988.   Result := CreateComObject(CLASS_SecurityDescriptor) as IADsSecurityDescriptor;
  6989. end;
  6990.  
  6991. class function CoSecurityDescriptor.CreateRemote(const MachineName: string): IADsSecurityDescriptor;
  6992. begin
  6993.   Result := CreateRemoteComObject(MachineName, CLASS_SecurityDescriptor) as IADsSecurityDescriptor;
  6994. end;
  6995.  
  6996. procedure TSecurityDescriptor.InitServerData;
  6997. const
  6998.   CServerData: TServerData = (
  6999.     ClassID: '{B958F73C-9BDD-11D0-852C-00C04FD8D503}';
  7000.     IntfIID: '{B8C787CA-9BDD-11D0-852C-00C04FD8D503}';
  7001.     EventIID: '';
  7002.     LicenseKey: nil;
  7003.     Version: 500);
  7004. begin
  7005.   ServerData := @CServerData;
  7006. end;
  7007.  
  7008. procedure TSecurityDescriptor.Connect;
  7009. var
  7010.   punk: IUnknown;
  7011. begin
  7012.   if FIntf = nil then begin
  7013.     punk := GetServer;
  7014.     Fintf := punk as IADsSecurityDescriptor;
  7015.   end;
  7016. end;
  7017.  
  7018. procedure TSecurityDescriptor.ConnectTo(svrIntf: IADsSecurityDescriptor);
  7019. begin
  7020.   Disconnect;
  7021.   FIntf := svrIntf;
  7022. end;
  7023.  
  7024. procedure TSecurityDescriptor.DisConnect;
  7025. begin
  7026.   if Fintf <> nil then begin
  7027.     FIntf := nil;
  7028.   end;
  7029. end;
  7030.  
  7031. function TSecurityDescriptor.GetDefaultInterface: IADsSecurityDescriptor;
  7032. begin
  7033.   if FIntf = nil then
  7034.     Connect;
  7035.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7036.   Result := FIntf;
  7037. end;
  7038.  
  7039. constructor TSecurityDescriptor.Create(AOwner: TComponent);
  7040. begin
  7041.   inherited Create(AOwner);
  7042.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7043.   FProps := TSecurityDescriptorProperties.Create(Self);
  7044.   {$ENDIF}
  7045. end;
  7046.  
  7047. destructor TSecurityDescriptor.Destroy;
  7048. begin
  7049.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7050.   FProps.Free;
  7051.   {$ENDIF}
  7052.   inherited Destroy;
  7053. end;
  7054.  
  7055. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7056.  
  7057. function TSecurityDescriptor.GetServerProperties: TSecurityDescriptorProperties;
  7058. begin
  7059.   Result := FProps;
  7060. end;
  7061. {$ENDIF}
  7062.  
  7063. function TSecurityDescriptor.Get_Revision: Integer;
  7064. begin
  7065.   Result := DefaultInterface.Get_Revision;
  7066. end;
  7067.  
  7068. procedure TSecurityDescriptor.Set_Revision(retval: Integer);
  7069. begin
  7070.   DefaultInterface.Set_Revision(retval);
  7071. end;
  7072.  
  7073. function TSecurityDescriptor.Get_Control: Integer;
  7074. begin
  7075.   Result := DefaultInterface.Get_Control;
  7076. end;
  7077.  
  7078. procedure TSecurityDescriptor.Set_Control(retval: Integer);
  7079. begin
  7080.   DefaultInterface.Set_Control(retval);
  7081. end;
  7082.  
  7083. function TSecurityDescriptor.Get_Owner: WideString;
  7084. begin
  7085.   Result := DefaultInterface.Get_Owner;
  7086. end;
  7087.  
  7088. procedure TSecurityDescriptor.Set_Owner(const retval: WideString);
  7089. begin
  7090.   DefaultInterface.Set_Owner(retval);
  7091. end;
  7092.  
  7093. function TSecurityDescriptor.Get_OwnerDefaulted: WordBool;
  7094. begin
  7095.   Result := DefaultInterface.Get_OwnerDefaulted;
  7096. end;
  7097.  
  7098. procedure TSecurityDescriptor.Set_OwnerDefaulted(retval: WordBool);
  7099. begin
  7100.   DefaultInterface.Set_OwnerDefaulted(retval);
  7101. end;
  7102.  
  7103. function TSecurityDescriptor.Get_Group: WideString;
  7104. begin
  7105.   Result := DefaultInterface.Get_Group;
  7106. end;
  7107.  
  7108. procedure TSecurityDescriptor.Set_Group(const retval: WideString);
  7109. begin
  7110.   DefaultInterface.Set_Group(retval);
  7111. end;
  7112.  
  7113. function TSecurityDescriptor.Get_GroupDefaulted: WordBool;
  7114. begin
  7115.   Result := DefaultInterface.Get_GroupDefaulted;
  7116. end;
  7117.  
  7118. procedure TSecurityDescriptor.Set_GroupDefaulted(retval: WordBool);
  7119. begin
  7120.   DefaultInterface.Set_GroupDefaulted(retval);
  7121. end;
  7122.  
  7123. function TSecurityDescriptor.Get_DiscretionaryAcl: IDispatch;
  7124. begin
  7125.   Result := DefaultInterface.Get_DiscretionaryAcl;
  7126. end;
  7127.  
  7128. procedure TSecurityDescriptor.Set_DiscretionaryAcl(const retval: IDispatch);
  7129. begin
  7130.   DefaultInterface.Set_DiscretionaryAcl(retval);
  7131. end;
  7132.  
  7133. function TSecurityDescriptor.Get_DaclDefaulted: WordBool;
  7134. begin
  7135.   Result := DefaultInterface.Get_DaclDefaulted;
  7136. end;
  7137.  
  7138. procedure TSecurityDescriptor.Set_DaclDefaulted(retval: WordBool);
  7139. begin
  7140.   DefaultInterface.Set_DaclDefaulted(retval);
  7141. end;
  7142.  
  7143. function TSecurityDescriptor.Get_SystemAcl: IDispatch;
  7144. begin
  7145.   Result := DefaultInterface.Get_SystemAcl;
  7146. end;
  7147.  
  7148. procedure TSecurityDescriptor.Set_SystemAcl(const retval: IDispatch);
  7149. begin
  7150.   DefaultInterface.Set_SystemAcl(retval);
  7151. end;
  7152.  
  7153. function TSecurityDescriptor.Get_SaclDefaulted: WordBool;
  7154. begin
  7155.   Result := DefaultInterface.Get_SaclDefaulted;
  7156. end;
  7157.  
  7158. procedure TSecurityDescriptor.Set_SaclDefaulted(retval: WordBool);
  7159. begin
  7160.   DefaultInterface.Set_SaclDefaulted(retval);
  7161. end;
  7162.  
  7163. function TSecurityDescriptor.CopySecurityDescriptor: IDispatch;
  7164. begin
  7165.   Result := DefaultInterface.CopySecurityDescriptor;
  7166. end;
  7167.  
  7168. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7169.  
  7170. constructor TSecurityDescriptorProperties.Create(AServer: TSecurityDescriptor);
  7171. begin
  7172.   inherited Create;
  7173.   FServer := AServer;
  7174. end;
  7175.  
  7176. function TSecurityDescriptorProperties.GetDefaultInterface: IADsSecurityDescriptor;
  7177. begin
  7178.   Result := FServer.DefaultInterface;
  7179. end;
  7180.  
  7181. function TSecurityDescriptorProperties.Get_Revision: Integer;
  7182. begin
  7183.   Result := DefaultInterface.Get_Revision;
  7184. end;
  7185.  
  7186. procedure TSecurityDescriptorProperties.Set_Revision(retval: Integer);
  7187. begin
  7188.   DefaultInterface.Set_Revision(retval);
  7189. end;
  7190.  
  7191. function TSecurityDescriptorProperties.Get_Control: Integer;
  7192. begin
  7193.   Result := DefaultInterface.Get_Control;
  7194. end;
  7195.  
  7196. procedure TSecurityDescriptorProperties.Set_Control(retval: Integer);
  7197. begin
  7198.   DefaultInterface.Set_Control(retval);
  7199. end;
  7200.  
  7201. function TSecurityDescriptorProperties.Get_Owner: WideString;
  7202. begin
  7203.   Result := DefaultInterface.Get_Owner;
  7204. end;
  7205.  
  7206. procedure TSecurityDescriptorProperties.Set_Owner(const retval: WideString);
  7207. begin
  7208.   DefaultInterface.Set_Owner(retval);
  7209. end;
  7210.  
  7211. function TSecurityDescriptorProperties.Get_OwnerDefaulted: WordBool;
  7212. begin
  7213.   Result := DefaultInterface.Get_OwnerDefaulted;
  7214. end;
  7215.  
  7216. procedure TSecurityDescriptorProperties.Set_OwnerDefaulted(retval: WordBool);
  7217. begin
  7218.   DefaultInterface.Set_OwnerDefaulted(retval);
  7219. end;
  7220.  
  7221. function TSecurityDescriptorProperties.Get_Group: WideString;
  7222. begin
  7223.   Result := DefaultInterface.Get_Group;
  7224. end;
  7225.  
  7226. procedure TSecurityDescriptorProperties.Set_Group(const retval: WideString);
  7227. begin
  7228.   DefaultInterface.Set_Group(retval);
  7229. end;
  7230.  
  7231. function TSecurityDescriptorProperties.Get_GroupDefaulted: WordBool;
  7232. begin
  7233.   Result := DefaultInterface.Get_GroupDefaulted;
  7234. end;
  7235.  
  7236. procedure TSecurityDescriptorProperties.Set_GroupDefaulted(retval: WordBool);
  7237. begin
  7238.   DefaultInterface.Set_GroupDefaulted(retval);
  7239. end;
  7240.  
  7241. function TSecurityDescriptorProperties.Get_DiscretionaryAcl: IDispatch;
  7242. begin
  7243.   Result := DefaultInterface.Get_DiscretionaryAcl;
  7244. end;
  7245.  
  7246. procedure TSecurityDescriptorProperties.Set_DiscretionaryAcl(const retval: IDispatch);
  7247. begin
  7248.   DefaultInterface.Set_DiscretionaryAcl(retval);
  7249. end;
  7250.  
  7251. function TSecurityDescriptorProperties.Get_DaclDefaulted: WordBool;
  7252. begin
  7253.   Result := DefaultInterface.Get_DaclDefaulted;
  7254. end;
  7255.  
  7256. procedure TSecurityDescriptorProperties.Set_DaclDefaulted(retval: WordBool);
  7257. begin
  7258.   DefaultInterface.Set_DaclDefaulted(retval);
  7259. end;
  7260.  
  7261. function TSecurityDescriptorProperties.Get_SystemAcl: IDispatch;
  7262. begin
  7263.   Result := DefaultInterface.Get_SystemAcl;
  7264. end;
  7265.  
  7266. procedure TSecurityDescriptorProperties.Set_SystemAcl(const retval: IDispatch);
  7267. begin
  7268.   DefaultInterface.Set_SystemAcl(retval);
  7269. end;
  7270.  
  7271. function TSecurityDescriptorProperties.Get_SaclDefaulted: WordBool;
  7272. begin
  7273.   Result := DefaultInterface.Get_SaclDefaulted;
  7274. end;
  7275.  
  7276. procedure TSecurityDescriptorProperties.Set_SaclDefaulted(retval: WordBool);
  7277. begin
  7278.   DefaultInterface.Set_SaclDefaulted(retval);
  7279. end;
  7280.  
  7281. {$ENDIF}
  7282.  
  7283. class function CoLargeInteger.Create: IADsLargeInteger;
  7284. begin
  7285.   Result := CreateComObject(CLASS_LargeInteger) as IADsLargeInteger;
  7286. end;
  7287.  
  7288. class function CoLargeInteger.CreateRemote(const MachineName: string): IADsLargeInteger;
  7289. begin
  7290.   Result := CreateRemoteComObject(MachineName, CLASS_LargeInteger) as IADsLargeInteger;
  7291. end;
  7292.  
  7293. procedure TLargeInteger.InitServerData;
  7294. const
  7295.   CServerData: TServerData = (
  7296.     ClassID: '{927971F5-0939-11D1-8BE1-00C04FD8D503}';
  7297.     IntfIID: '{9068270B-0939-11D1-8BE1-00C04FD8D503}';
  7298.     EventIID: '';
  7299.     LicenseKey: nil;
  7300.     Version: 500);
  7301. begin
  7302.   ServerData := @CServerData;
  7303. end;
  7304.  
  7305. procedure TLargeInteger.Connect;
  7306. var
  7307.   punk: IUnknown;
  7308. begin
  7309.   if FIntf = nil then begin
  7310.     punk := GetServer;
  7311.     Fintf := punk as IADsLargeInteger;
  7312.   end;
  7313. end;
  7314.  
  7315. procedure TLargeInteger.ConnectTo(svrIntf: IADsLargeInteger);
  7316. begin
  7317.   Disconnect;
  7318.   FIntf := svrIntf;
  7319. end;
  7320.  
  7321. procedure TLargeInteger.DisConnect;
  7322. begin
  7323.   if Fintf <> nil then begin
  7324.     FIntf := nil;
  7325.   end;
  7326. end;
  7327.  
  7328. function TLargeInteger.GetDefaultInterface: IADsLargeInteger;
  7329. begin
  7330.   if FIntf = nil then
  7331.     Connect;
  7332.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7333.   Result := FIntf;
  7334. end;
  7335.  
  7336. constructor TLargeInteger.Create(AOwner: TComponent);
  7337. begin
  7338.   inherited Create(AOwner);
  7339.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7340.   FProps := TLargeIntegerProperties.Create(Self);
  7341.   {$ENDIF}
  7342. end;
  7343.  
  7344. destructor TLargeInteger.Destroy;
  7345. begin
  7346.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7347.   FProps.Free;
  7348.   {$ENDIF}
  7349.   inherited Destroy;
  7350. end;
  7351.  
  7352. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7353.  
  7354. function TLargeInteger.GetServerProperties: TLargeIntegerProperties;
  7355. begin
  7356.   Result := FProps;
  7357. end;
  7358. {$ENDIF}
  7359.  
  7360. function TLargeInteger.Get_HighPart: Integer;
  7361. begin
  7362.   Result := DefaultInterface.Get_HighPart;
  7363. end;
  7364.  
  7365. procedure TLargeInteger.Set_HighPart(retval: Integer);
  7366. begin
  7367.   DefaultInterface.Set_HighPart(retval);
  7368. end;
  7369.  
  7370. function TLargeInteger.Get_LowPart: Integer;
  7371. begin
  7372.   Result := DefaultInterface.Get_LowPart;
  7373. end;
  7374.  
  7375. procedure TLargeInteger.Set_LowPart(retval: Integer);
  7376. begin
  7377.   DefaultInterface.Set_LowPart(retval);
  7378. end;
  7379.  
  7380. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7381.  
  7382. constructor TLargeIntegerProperties.Create(AServer: TLargeInteger);
  7383. begin
  7384.   inherited Create;
  7385.   FServer := AServer;
  7386. end;
  7387.  
  7388. function TLargeIntegerProperties.GetDefaultInterface: IADsLargeInteger;
  7389. begin
  7390.   Result := FServer.DefaultInterface;
  7391. end;
  7392.  
  7393. function TLargeIntegerProperties.Get_HighPart: Integer;
  7394. begin
  7395.   Result := DefaultInterface.Get_HighPart;
  7396. end;
  7397.  
  7398. procedure TLargeIntegerProperties.Set_HighPart(retval: Integer);
  7399. begin
  7400.   DefaultInterface.Set_HighPart(retval);
  7401. end;
  7402.  
  7403. function TLargeIntegerProperties.Get_LowPart: Integer;
  7404. begin
  7405.   Result := DefaultInterface.Get_LowPart;
  7406. end;
  7407.  
  7408. procedure TLargeIntegerProperties.Set_LowPart(retval: Integer);
  7409. begin
  7410.   DefaultInterface.Set_LowPart(retval);
  7411. end;
  7412.  
  7413. {$ENDIF}
  7414.  
  7415. class function CoNameTranslate.Create: IADsNameTranslate;
  7416. begin
  7417.   Result := CreateComObject(CLASS_NameTranslate) as IADsNameTranslate;
  7418. end;
  7419.  
  7420. class function CoNameTranslate.CreateRemote(const MachineName: string): IADsNameTranslate;
  7421. begin
  7422.   Result := CreateRemoteComObject(MachineName, CLASS_NameTranslate) as IADsNameTranslate;
  7423. end;
  7424.  
  7425. procedure TNameTranslate.InitServerData;
  7426. const
  7427.   CServerData: TServerData = (
  7428.     ClassID: '{274FAE1F-3626-11D1-A3A4-00C04FB950DC}';
  7429.     IntfIID: '{B1B272A3-3625-11D1-A3A4-00C04FB950DC}';
  7430.     EventIID: '';
  7431.     LicenseKey: nil;
  7432.     Version: 500);
  7433. begin
  7434.   ServerData := @CServerData;
  7435. end;
  7436.  
  7437. procedure TNameTranslate.Connect;
  7438. var
  7439.   punk: IUnknown;
  7440. begin
  7441.   if FIntf = nil then begin
  7442.     punk := GetServer;
  7443.     Fintf := punk as IADsNameTranslate;
  7444.   end;
  7445. end;
  7446.  
  7447. procedure TNameTranslate.ConnectTo(svrIntf: IADsNameTranslate);
  7448. begin
  7449.   Disconnect;
  7450.   FIntf := svrIntf;
  7451. end;
  7452.  
  7453. procedure TNameTranslate.DisConnect;
  7454. begin
  7455.   if Fintf <> nil then begin
  7456.     FIntf := nil;
  7457.   end;
  7458. end;
  7459.  
  7460. function TNameTranslate.GetDefaultInterface: IADsNameTranslate;
  7461. begin
  7462.   if FIntf = nil then
  7463.     Connect;
  7464.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7465.   Result := FIntf;
  7466. end;
  7467.  
  7468. constructor TNameTranslate.Create(AOwner: TComponent);
  7469. begin
  7470.   inherited Create(AOwner);
  7471.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7472.   FProps := TNameTranslateProperties.Create(Self);
  7473.   {$ENDIF}
  7474. end;
  7475.  
  7476. destructor TNameTranslate.Destroy;
  7477. begin
  7478.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7479.   FProps.Free;
  7480.   {$ENDIF}
  7481.   inherited Destroy;
  7482. end;
  7483.  
  7484. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7485.  
  7486. function TNameTranslate.GetServerProperties: TNameTranslateProperties;
  7487. begin
  7488.   Result := FProps;
  7489. end;
  7490. {$ENDIF}
  7491.  
  7492. procedure TNameTranslate.Set_ChaseReferral(Param1: Integer);
  7493. begin
  7494.   DefaultInterface.Set_ChaseReferral(Param1);
  7495. end;
  7496.  
  7497. procedure TNameTranslate.Init(lnSetType: Integer; const bstrADsPath: WideString);
  7498. begin
  7499.   DefaultInterface.Init(lnSetType, bstrADsPath);
  7500. end;
  7501.  
  7502. procedure TNameTranslate.InitEx(lnSetType: Integer; const bstrADsPath: WideString;
  7503.   const bstrUserID: WideString; const bstrDomain: WideString;
  7504.   const bstrPassword: WideString);
  7505. begin
  7506.   DefaultInterface.InitEx(lnSetType, bstrADsPath, bstrUserID, bstrDomain, bstrPassword);
  7507. end;
  7508.  
  7509. procedure TNameTranslate.Set_(lnSetType: Integer; const bstrADsPath: WideString);
  7510. begin
  7511.   DefaultInterface.Set_(lnSetType, bstrADsPath);
  7512. end;
  7513.  
  7514. function TNameTranslate.Get(lnFormatType: Integer): WideString;
  7515. begin
  7516.   Result := DefaultInterface.Get(lnFormatType);
  7517. end;
  7518.  
  7519. procedure TNameTranslate.SetEx(lnFormatType: Integer; pVar: OleVariant);
  7520. begin
  7521.   DefaultInterface.SetEx(lnFormatType, pVar);
  7522. end;
  7523.  
  7524. function TNameTranslate.GetEx(lnFormatType: Integer): OleVariant;
  7525. begin
  7526.   Result := DefaultInterface.GetEx(lnFormatType);
  7527. end;
  7528.  
  7529. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7530.  
  7531. constructor TNameTranslateProperties.Create(AServer: TNameTranslate);
  7532. begin
  7533.   inherited Create;
  7534.   FServer := AServer;
  7535. end;
  7536.  
  7537. function TNameTranslateProperties.GetDefaultInterface: IADsNameTranslate;
  7538. begin
  7539.   Result := FServer.DefaultInterface;
  7540. end;
  7541.  
  7542. procedure TNameTranslateProperties.Set_ChaseReferral(Param1: Integer);
  7543. begin
  7544.   DefaultInterface.Set_ChaseReferral(Param1);
  7545. end;
  7546.  
  7547. {$ENDIF}
  7548.  
  7549. class function CoCaseIgnoreList.Create: IADsCaseIgnoreList;
  7550. begin
  7551.   Result := CreateComObject(CLASS_CaseIgnoreList) as IADsCaseIgnoreList;
  7552. end;
  7553.  
  7554. class function CoCaseIgnoreList.CreateRemote(const MachineName: string): IADsCaseIgnoreList;
  7555. begin
  7556.   Result := CreateRemoteComObject(MachineName, CLASS_CaseIgnoreList) as IADsCaseIgnoreList;
  7557. end;
  7558.  
  7559. procedure TCaseIgnoreList.InitServerData;
  7560. const
  7561.   CServerData: TServerData = (
  7562.     ClassID: '{15F88A55-4680-11D1-A3B4-00C04FB950DC}';
  7563.     IntfIID: '{7B66B533-4680-11D1-A3B4-00C04FB950DC}';
  7564.     EventIID: '';
  7565.     LicenseKey: nil;
  7566.     Version: 500);
  7567. begin
  7568.   ServerData := @CServerData;
  7569. end;
  7570.  
  7571. procedure TCaseIgnoreList.Connect;
  7572. var
  7573.   punk: IUnknown;
  7574. begin
  7575.   if FIntf = nil then begin
  7576.     punk := GetServer;
  7577.     Fintf := punk as IADsCaseIgnoreList;
  7578.   end;
  7579. end;
  7580.  
  7581. procedure TCaseIgnoreList.ConnectTo(svrIntf: IADsCaseIgnoreList);
  7582. begin
  7583.   Disconnect;
  7584.   FIntf := svrIntf;
  7585. end;
  7586.  
  7587. procedure TCaseIgnoreList.DisConnect;
  7588. begin
  7589.   if Fintf <> nil then begin
  7590.     FIntf := nil;
  7591.   end;
  7592. end;
  7593.  
  7594. function TCaseIgnoreList.GetDefaultInterface: IADsCaseIgnoreList;
  7595. begin
  7596.   if FIntf = nil then
  7597.     Connect;
  7598.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7599.   Result := FIntf;
  7600. end;
  7601.  
  7602. constructor TCaseIgnoreList.Create(AOwner: TComponent);
  7603. begin
  7604.   inherited Create(AOwner);
  7605.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7606.   FProps := TCaseIgnoreListProperties.Create(Self);
  7607.   {$ENDIF}
  7608. end;
  7609.  
  7610. destructor TCaseIgnoreList.Destroy;
  7611. begin
  7612.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7613.   FProps.Free;
  7614.   {$ENDIF}
  7615.   inherited Destroy;
  7616. end;
  7617.  
  7618. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7619.  
  7620. function TCaseIgnoreList.GetServerProperties: TCaseIgnoreListProperties;
  7621. begin
  7622.   Result := FProps;
  7623. end;
  7624. {$ENDIF}
  7625.  
  7626. function TCaseIgnoreList.Get_CaseIgnoreList: OleVariant;
  7627. begin
  7628.   Result := DefaultInterface.Get_CaseIgnoreList;
  7629. end;
  7630.  
  7631. procedure TCaseIgnoreList.Set_CaseIgnoreList(retval: OleVariant);
  7632. begin
  7633.   DefaultInterface.Set_CaseIgnoreList(retval);
  7634. end;
  7635.  
  7636. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7637.  
  7638. constructor TCaseIgnoreListProperties.Create(AServer: TCaseIgnoreList);
  7639. begin
  7640.   inherited Create;
  7641.   FServer := AServer;
  7642. end;
  7643.  
  7644. function TCaseIgnoreListProperties.GetDefaultInterface: IADsCaseIgnoreList;
  7645. begin
  7646.   Result := FServer.DefaultInterface;
  7647. end;
  7648.  
  7649. function TCaseIgnoreListProperties.Get_CaseIgnoreList: OleVariant;
  7650. begin
  7651.   Result := DefaultInterface.Get_CaseIgnoreList;
  7652. end;
  7653.  
  7654. procedure TCaseIgnoreListProperties.Set_CaseIgnoreList(retval: OleVariant);
  7655. begin
  7656.   DefaultInterface.Set_CaseIgnoreList(retval);
  7657. end;
  7658.  
  7659. {$ENDIF}
  7660.  
  7661. class function CoFaxNumber.Create: IADsFaxNumber;
  7662. begin
  7663.   Result := CreateComObject(CLASS_FaxNumber) as IADsFaxNumber;
  7664. end;
  7665.  
  7666. class function CoFaxNumber.CreateRemote(const MachineName: string): IADsFaxNumber;
  7667. begin
  7668.   Result := CreateRemoteComObject(MachineName, CLASS_FaxNumber) as IADsFaxNumber;
  7669. end;
  7670.  
  7671. procedure TFaxNumber.InitServerData;
  7672. const
  7673.   CServerData: TServerData = (
  7674.     ClassID: '{A5062215-4681-11D1-A3B4-00C04FB950DC}';
  7675.     IntfIID: '{A910DEA9-4680-11D1-A3B4-00C04FB950DC}';
  7676.     EventIID: '';
  7677.     LicenseKey: nil;
  7678.     Version: 500);
  7679. begin
  7680.   ServerData := @CServerData;
  7681. end;
  7682.  
  7683. procedure TFaxNumber.Connect;
  7684. var
  7685.   punk: IUnknown;
  7686. begin
  7687.   if FIntf = nil then begin
  7688.     punk := GetServer;
  7689.     Fintf := punk as IADsFaxNumber;
  7690.   end;
  7691. end;
  7692.  
  7693. procedure TFaxNumber.ConnectTo(svrIntf: IADsFaxNumber);
  7694. begin
  7695.   Disconnect;
  7696.   FIntf := svrIntf;
  7697. end;
  7698.  
  7699. procedure TFaxNumber.DisConnect;
  7700. begin
  7701.   if Fintf <> nil then begin
  7702.     FIntf := nil;
  7703.   end;
  7704. end;
  7705.  
  7706. function TFaxNumber.GetDefaultInterface: IADsFaxNumber;
  7707. begin
  7708.   if FIntf = nil then
  7709.     Connect;
  7710.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7711.   Result := FIntf;
  7712. end;
  7713.  
  7714. constructor TFaxNumber.Create(AOwner: TComponent);
  7715. begin
  7716.   inherited Create(AOwner);
  7717.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7718.   FProps := TFaxNumberProperties.Create(Self);
  7719.   {$ENDIF}
  7720. end;
  7721.  
  7722. destructor TFaxNumber.Destroy;
  7723. begin
  7724.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7725.   FProps.Free;
  7726.   {$ENDIF}
  7727.   inherited Destroy;
  7728. end;
  7729.  
  7730. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7731.  
  7732. function TFaxNumber.GetServerProperties: TFaxNumberProperties;
  7733. begin
  7734.   Result := FProps;
  7735. end;
  7736. {$ENDIF}
  7737.  
  7738. function TFaxNumber.Get_TelephoneNumber: WideString;
  7739. begin
  7740.   Result := DefaultInterface.Get_TelephoneNumber;
  7741. end;
  7742.  
  7743. procedure TFaxNumber.Set_TelephoneNumber(const retval: WideString);
  7744. begin
  7745.   DefaultInterface.Set_TelephoneNumber(retval);
  7746. end;
  7747.  
  7748. function TFaxNumber.Get_Parameters: OleVariant;
  7749. begin
  7750.   Result := DefaultInterface.Get_Parameters;
  7751. end;
  7752.  
  7753. procedure TFaxNumber.Set_Parameters(retval: OleVariant);
  7754. begin
  7755.   DefaultInterface.Set_Parameters(retval);
  7756. end;
  7757.  
  7758. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7759.  
  7760. constructor TFaxNumberProperties.Create(AServer: TFaxNumber);
  7761. begin
  7762.   inherited Create;
  7763.   FServer := AServer;
  7764. end;
  7765.  
  7766. function TFaxNumberProperties.GetDefaultInterface: IADsFaxNumber;
  7767. begin
  7768.   Result := FServer.DefaultInterface;
  7769. end;
  7770.  
  7771. function TFaxNumberProperties.Get_TelephoneNumber: WideString;
  7772. begin
  7773.   Result := DefaultInterface.Get_TelephoneNumber;
  7774. end;
  7775.  
  7776. procedure TFaxNumberProperties.Set_TelephoneNumber(const retval: WideString);
  7777. begin
  7778.   DefaultInterface.Set_TelephoneNumber(retval);
  7779. end;
  7780.  
  7781. function TFaxNumberProperties.Get_Parameters: OleVariant;
  7782. begin
  7783.   Result := DefaultInterface.Get_Parameters;
  7784. end;
  7785.  
  7786. procedure TFaxNumberProperties.Set_Parameters(retval: OleVariant);
  7787. begin
  7788.   DefaultInterface.Set_Parameters(retval);
  7789. end;
  7790.  
  7791. {$ENDIF}
  7792.  
  7793. class function CoNetAddress.Create: IADsNetAddress;
  7794. begin
  7795.   Result := CreateComObject(CLASS_NetAddress) as IADsNetAddress;
  7796. end;
  7797.  
  7798. class function CoNetAddress.CreateRemote(const MachineName: string): IADsNetAddress;
  7799. begin
  7800.   Result := CreateRemoteComObject(MachineName, CLASS_NetAddress) as IADsNetAddress;
  7801. end;
  7802.  
  7803. procedure TNetAddress.InitServerData;
  7804. const
  7805.   CServerData: TServerData = (
  7806.     ClassID: '{B0B71247-4080-11D1-A3AC-00C04FB950DC}';
  7807.     IntfIID: '{B21A50A9-4080-11D1-A3AC-00C04FB950DC}';
  7808.     EventIID: '';
  7809.     LicenseKey: nil;
  7810.     Version: 500);
  7811. begin
  7812.   ServerData := @CServerData;
  7813. end;
  7814.  
  7815. procedure TNetAddress.Connect;
  7816. var
  7817.   punk: IUnknown;
  7818. begin
  7819.   if FIntf = nil then begin
  7820.     punk := GetServer;
  7821.     Fintf := punk as IADsNetAddress;
  7822.   end;
  7823. end;
  7824.  
  7825. procedure TNetAddress.ConnectTo(svrIntf: IADsNetAddress);
  7826. begin
  7827.   Disconnect;
  7828.   FIntf := svrIntf;
  7829. end;
  7830.  
  7831. procedure TNetAddress.DisConnect;
  7832. begin
  7833.   if Fintf <> nil then begin
  7834.     FIntf := nil;
  7835.   end;
  7836. end;
  7837.  
  7838. function TNetAddress.GetDefaultInterface: IADsNetAddress;
  7839. begin
  7840.   if FIntf = nil then
  7841.     Connect;
  7842.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7843.   Result := FIntf;
  7844. end;
  7845.  
  7846. constructor TNetAddress.Create(AOwner: TComponent);
  7847. begin
  7848.   inherited Create(AOwner);
  7849.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7850.   FProps := TNetAddressProperties.Create(Self);
  7851.   {$ENDIF}
  7852. end;
  7853.  
  7854. destructor TNetAddress.Destroy;
  7855. begin
  7856.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7857.   FProps.Free;
  7858.   {$ENDIF}
  7859.   inherited Destroy;
  7860. end;
  7861.  
  7862. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7863.  
  7864. function TNetAddress.GetServerProperties: TNetAddressProperties;
  7865. begin
  7866.   Result := FProps;
  7867. end;
  7868. {$ENDIF}
  7869.  
  7870. function TNetAddress.Get_AddressType: Integer;
  7871. begin
  7872.   Result := DefaultInterface.Get_AddressType;
  7873. end;
  7874.  
  7875. procedure TNetAddress.Set_AddressType(retval: Integer);
  7876. begin
  7877.   DefaultInterface.Set_AddressType(retval);
  7878. end;
  7879.  
  7880. function TNetAddress.Get_Address: OleVariant;
  7881. begin
  7882.   Result := DefaultInterface.Get_Address;
  7883. end;
  7884.  
  7885. procedure TNetAddress.Set_Address(retval: OleVariant);
  7886. begin
  7887.   DefaultInterface.Set_Address(retval);
  7888. end;
  7889.  
  7890. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7891.  
  7892. constructor TNetAddressProperties.Create(AServer: TNetAddress);
  7893. begin
  7894.   inherited Create;
  7895.   FServer := AServer;
  7896. end;
  7897.  
  7898. function TNetAddressProperties.GetDefaultInterface: IADsNetAddress;
  7899. begin
  7900.   Result := FServer.DefaultInterface;
  7901. end;
  7902.  
  7903. function TNetAddressProperties.Get_AddressType: Integer;
  7904. begin
  7905.   Result := DefaultInterface.Get_AddressType;
  7906. end;
  7907.  
  7908. procedure TNetAddressProperties.Set_AddressType(retval: Integer);
  7909. begin
  7910.   DefaultInterface.Set_AddressType(retval);
  7911. end;
  7912.  
  7913. function TNetAddressProperties.Get_Address: OleVariant;
  7914. begin
  7915.   Result := DefaultInterface.Get_Address;
  7916. end;
  7917.  
  7918. procedure TNetAddressProperties.Set_Address(retval: OleVariant);
  7919. begin
  7920.   DefaultInterface.Set_Address(retval);
  7921. end;
  7922.  
  7923. {$ENDIF}
  7924.  
  7925. class function CoOctetList.Create: IADsOctetList;
  7926. begin
  7927.   Result := CreateComObject(CLASS_OctetList) as IADsOctetList;
  7928. end;
  7929.  
  7930. class function CoOctetList.CreateRemote(const MachineName: string): IADsOctetList;
  7931. begin
  7932.   Result := CreateRemoteComObject(MachineName, CLASS_OctetList) as IADsOctetList;
  7933. end;
  7934.  
  7935. procedure TOctetList.InitServerData;
  7936. const
  7937.   CServerData: TServerData = (
  7938.     ClassID: '{1241400F-4680-11D1-A3B4-00C04FB950DC}';
  7939.     IntfIID: '{7B28B80F-4680-11D1-A3B4-00C04FB950DC}';
  7940.     EventIID: '';
  7941.     LicenseKey: nil;
  7942.     Version: 500);
  7943. begin
  7944.   ServerData := @CServerData;
  7945. end;
  7946.  
  7947. procedure TOctetList.Connect;
  7948. var
  7949.   punk: IUnknown;
  7950. begin
  7951.   if FIntf = nil then begin
  7952.     punk := GetServer;
  7953.     Fintf := punk as IADsOctetList;
  7954.   end;
  7955. end;
  7956.  
  7957. procedure TOctetList.ConnectTo(svrIntf: IADsOctetList);
  7958. begin
  7959.   Disconnect;
  7960.   FIntf := svrIntf;
  7961. end;
  7962.  
  7963. procedure TOctetList.DisConnect;
  7964. begin
  7965.   if Fintf <> nil then begin
  7966.     FIntf := nil;
  7967.   end;
  7968. end;
  7969.  
  7970. function TOctetList.GetDefaultInterface: IADsOctetList;
  7971. begin
  7972.   if FIntf = nil then
  7973.     Connect;
  7974.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  7975.   Result := FIntf;
  7976. end;
  7977.  
  7978. constructor TOctetList.Create(AOwner: TComponent);
  7979. begin
  7980.   inherited Create(AOwner);
  7981.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7982.   FProps := TOctetListProperties.Create(Self);
  7983.   {$ENDIF}
  7984. end;
  7985.  
  7986. destructor TOctetList.Destroy;
  7987. begin
  7988.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7989.   FProps.Free;
  7990.   {$ENDIF}
  7991.   inherited Destroy;
  7992. end;
  7993.  
  7994. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  7995.  
  7996. function TOctetList.GetServerProperties: TOctetListProperties;
  7997. begin
  7998.   Result := FProps;
  7999. end;
  8000. {$ENDIF}
  8001.  
  8002. function TOctetList.Get_OctetList: OleVariant;
  8003. begin
  8004.   Result := DefaultInterface.Get_OctetList;
  8005. end;
  8006.  
  8007. procedure TOctetList.Set_OctetList(retval: OleVariant);
  8008. begin
  8009.   DefaultInterface.Set_OctetList(retval);
  8010. end;
  8011.  
  8012. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8013.  
  8014. constructor TOctetListProperties.Create(AServer: TOctetList);
  8015. begin
  8016.   inherited Create;
  8017.   FServer := AServer;
  8018. end;
  8019.  
  8020. function TOctetListProperties.GetDefaultInterface: IADsOctetList;
  8021. begin
  8022.   Result := FServer.DefaultInterface;
  8023. end;
  8024.  
  8025. function TOctetListProperties.Get_OctetList: OleVariant;
  8026. begin
  8027.   Result := DefaultInterface.Get_OctetList;
  8028. end;
  8029.  
  8030. procedure TOctetListProperties.Set_OctetList(retval: OleVariant);
  8031. begin
  8032.   DefaultInterface.Set_OctetList(retval);
  8033. end;
  8034.  
  8035. {$ENDIF}
  8036.  
  8037. class function CoEmail.Create: IADsEmail;
  8038. begin
  8039.   Result := CreateComObject(CLASS_Email) as IADsEmail;
  8040. end;
  8041.  
  8042. class function CoEmail.CreateRemote(const MachineName: string): IADsEmail;
  8043. begin
  8044.   Result := CreateRemoteComObject(MachineName, CLASS_Email) as IADsEmail;
  8045. end;
  8046.  
  8047. procedure TEmail.InitServerData;
  8048. const
  8049.   CServerData: TServerData = (
  8050.     ClassID: '{8F92A857-478E-11D1-A3B4-00C04FB950DC}';
  8051.     IntfIID: '{97AF011A-478E-11D1-A3B4-00C04FB950DC}';
  8052.     EventIID: '';
  8053.     LicenseKey: nil;
  8054.     Version: 500);
  8055. begin
  8056.   ServerData := @CServerData;
  8057. end;
  8058.  
  8059. procedure TEmail.Connect;
  8060. var
  8061.   punk: IUnknown;
  8062. begin
  8063.   if FIntf = nil then begin
  8064.     punk := GetServer;
  8065.     Fintf := punk as IADsEmail;
  8066.   end;
  8067. end;
  8068.  
  8069. procedure TEmail.ConnectTo(svrIntf: IADsEmail);
  8070. begin
  8071.   Disconnect;
  8072.   FIntf := svrIntf;
  8073. end;
  8074.  
  8075. procedure TEmail.DisConnect;
  8076. begin
  8077.   if Fintf <> nil then begin
  8078.     FIntf := nil;
  8079.   end;
  8080. end;
  8081.  
  8082. function TEmail.GetDefaultInterface: IADsEmail;
  8083. begin
  8084.   if FIntf = nil then
  8085.     Connect;
  8086.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8087.   Result := FIntf;
  8088. end;
  8089.  
  8090. constructor TEmail.Create(AOwner: TComponent);
  8091. begin
  8092.   inherited Create(AOwner);
  8093.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8094.   FProps := TEmailProperties.Create(Self);
  8095.   {$ENDIF}
  8096. end;
  8097.  
  8098. destructor TEmail.Destroy;
  8099. begin
  8100.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8101.   FProps.Free;
  8102.   {$ENDIF}
  8103.   inherited Destroy;
  8104. end;
  8105.  
  8106. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8107.  
  8108. function TEmail.GetServerProperties: TEmailProperties;
  8109. begin
  8110.   Result := FProps;
  8111. end;
  8112. {$ENDIF}
  8113.  
  8114. function TEmail.Get_Type_: Integer;
  8115. begin
  8116.   Result := DefaultInterface.Get_Type_;
  8117. end;
  8118.  
  8119. procedure TEmail.Set_Type_(retval: Integer);
  8120. begin
  8121.   DefaultInterface.Set_Type_(retval);
  8122. end;
  8123.  
  8124. function TEmail.Get_Address: WideString;
  8125. begin
  8126.   Result := DefaultInterface.Get_Address;
  8127. end;
  8128.  
  8129. procedure TEmail.Set_Address(const retval: WideString);
  8130. begin
  8131.   DefaultInterface.Set_Address(retval);
  8132. end;
  8133.  
  8134. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8135.  
  8136. constructor TEmailProperties.Create(AServer: TEmail);
  8137. begin
  8138.   inherited Create;
  8139.   FServer := AServer;
  8140. end;
  8141.  
  8142. function TEmailProperties.GetDefaultInterface: IADsEmail;
  8143. begin
  8144.   Result := FServer.DefaultInterface;
  8145. end;
  8146.  
  8147. function TEmailProperties.Get_Type_: Integer;
  8148. begin
  8149.   Result := DefaultInterface.Get_Type_;
  8150. end;
  8151.  
  8152. procedure TEmailProperties.Set_Type_(retval: Integer);
  8153. begin
  8154.   DefaultInterface.Set_Type_(retval);
  8155. end;
  8156.  
  8157. function TEmailProperties.Get_Address: WideString;
  8158. begin
  8159.   Result := DefaultInterface.Get_Address;
  8160. end;
  8161.  
  8162. procedure TEmailProperties.Set_Address(const retval: WideString);
  8163. begin
  8164.   DefaultInterface.Set_Address(retval);
  8165. end;
  8166.  
  8167. {$ENDIF}
  8168.  
  8169. class function CoPath.Create: IADsPath;
  8170. begin
  8171.   Result := CreateComObject(CLASS_Path) as IADsPath;
  8172. end;
  8173.  
  8174. class function CoPath.CreateRemote(const MachineName: string): IADsPath;
  8175. begin
  8176.   Result := CreateRemoteComObject(MachineName, CLASS_Path) as IADsPath;
  8177. end;
  8178.  
  8179. procedure TPath.InitServerData;
  8180. const
  8181.   CServerData: TServerData = (
  8182.     ClassID: '{B2538919-4080-11D1-A3AC-00C04FB950DC}';
  8183.     IntfIID: '{B287FCD5-4080-11D1-A3AC-00C04FB950DC}';
  8184.     EventIID: '';
  8185.     LicenseKey: nil;
  8186.     Version: 500);
  8187. begin
  8188.   ServerData := @CServerData;
  8189. end;
  8190.  
  8191. procedure TPath.Connect;
  8192. var
  8193.   punk: IUnknown;
  8194. begin
  8195.   if FIntf = nil then begin
  8196.     punk := GetServer;
  8197.     Fintf := punk as IADsPath;
  8198.   end;
  8199. end;
  8200.  
  8201. procedure TPath.ConnectTo(svrIntf: IADsPath);
  8202. begin
  8203.   Disconnect;
  8204.   FIntf := svrIntf;
  8205. end;
  8206.  
  8207. procedure TPath.DisConnect;
  8208. begin
  8209.   if Fintf <> nil then begin
  8210.     FIntf := nil;
  8211.   end;
  8212. end;
  8213.  
  8214. function TPath.GetDefaultInterface: IADsPath;
  8215. begin
  8216.   if FIntf = nil then
  8217.     Connect;
  8218.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8219.   Result := FIntf;
  8220. end;
  8221.  
  8222. constructor TPath.Create(AOwner: TComponent);
  8223. begin
  8224.   inherited Create(AOwner);
  8225.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8226.   FProps := TPathProperties.Create(Self);
  8227.   {$ENDIF}
  8228. end;
  8229.  
  8230. destructor TPath.Destroy;
  8231. begin
  8232.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8233.   FProps.Free;
  8234.   {$ENDIF}
  8235.   inherited Destroy;
  8236. end;
  8237.  
  8238. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8239.  
  8240. function TPath.GetServerProperties: TPathProperties;
  8241. begin
  8242.   Result := FProps;
  8243. end;
  8244. {$ENDIF}
  8245.  
  8246. function TPath.Get_Type_: Integer;
  8247. begin
  8248.   Result := DefaultInterface.Get_Type_;
  8249. end;
  8250.  
  8251. procedure TPath.Set_Type_(retval: Integer);
  8252. begin
  8253.   DefaultInterface.Set_Type_(retval);
  8254. end;
  8255.  
  8256. function TPath.Get_VolumeName: WideString;
  8257. begin
  8258.   Result := DefaultInterface.Get_VolumeName;
  8259. end;
  8260.  
  8261. procedure TPath.Set_VolumeName(const retval: WideString);
  8262. begin
  8263.   DefaultInterface.Set_VolumeName(retval);
  8264. end;
  8265.  
  8266. function TPath.Get_Path: WideString;
  8267. begin
  8268.   Result := DefaultInterface.Get_Path;
  8269. end;
  8270.  
  8271. procedure TPath.Set_Path(const retval: WideString);
  8272. begin
  8273.   DefaultInterface.Set_Path(retval);
  8274. end;
  8275.  
  8276. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8277.  
  8278. constructor TPathProperties.Create(AServer: TPath);
  8279. begin
  8280.   inherited Create;
  8281.   FServer := AServer;
  8282. end;
  8283.  
  8284. function TPathProperties.GetDefaultInterface: IADsPath;
  8285. begin
  8286.   Result := FServer.DefaultInterface;
  8287. end;
  8288.  
  8289. function TPathProperties.Get_Type_: Integer;
  8290. begin
  8291.   Result := DefaultInterface.Get_Type_;
  8292. end;
  8293.  
  8294. procedure TPathProperties.Set_Type_(retval: Integer);
  8295. begin
  8296.   DefaultInterface.Set_Type_(retval);
  8297. end;
  8298.  
  8299. function TPathProperties.Get_VolumeName: WideString;
  8300. begin
  8301.   Result := DefaultInterface.Get_VolumeName;
  8302. end;
  8303.  
  8304. procedure TPathProperties.Set_VolumeName(const retval: WideString);
  8305. begin
  8306.   DefaultInterface.Set_VolumeName(retval);
  8307. end;
  8308.  
  8309. function TPathProperties.Get_Path: WideString;
  8310. begin
  8311.   Result := DefaultInterface.Get_Path;
  8312. end;
  8313.  
  8314. procedure TPathProperties.Set_Path(const retval: WideString);
  8315. begin
  8316.   DefaultInterface.Set_Path(retval);
  8317. end;
  8318.  
  8319. {$ENDIF}
  8320.  
  8321. class function CoReplicaPointer.Create: IADsReplicaPointer;
  8322. begin
  8323.   Result := CreateComObject(CLASS_ReplicaPointer) as IADsReplicaPointer;
  8324. end;
  8325.  
  8326. class function CoReplicaPointer.CreateRemote(const MachineName: string): IADsReplicaPointer;
  8327. begin
  8328.   Result := CreateRemoteComObject(MachineName, CLASS_ReplicaPointer) as IADsReplicaPointer;
  8329. end;
  8330.  
  8331. procedure TReplicaPointer.InitServerData;
  8332. const
  8333.   CServerData: TServerData = (
  8334.     ClassID: '{F5D1BADF-4080-11D1-A3AC-00C04FB950DC}';
  8335.     IntfIID: '{F60FB803-4080-11D1-A3AC-00C04FB950DC}';
  8336.     EventIID: '';
  8337.     LicenseKey: nil;
  8338.     Version: 500);
  8339. begin
  8340.   ServerData := @CServerData;
  8341. end;
  8342.  
  8343. procedure TReplicaPointer.Connect;
  8344. var
  8345.   punk: IUnknown;
  8346. begin
  8347.   if FIntf = nil then begin
  8348.     punk := GetServer;
  8349.     Fintf := punk as IADsReplicaPointer;
  8350.   end;
  8351. end;
  8352.  
  8353. procedure TReplicaPointer.ConnectTo(svrIntf: IADsReplicaPointer);
  8354. begin
  8355.   Disconnect;
  8356.   FIntf := svrIntf;
  8357. end;
  8358.  
  8359. procedure TReplicaPointer.DisConnect;
  8360. begin
  8361.   if Fintf <> nil then begin
  8362.     FIntf := nil;
  8363.   end;
  8364. end;
  8365.  
  8366. function TReplicaPointer.GetDefaultInterface: IADsReplicaPointer;
  8367. begin
  8368.   if FIntf = nil then
  8369.     Connect;
  8370.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8371.   Result := FIntf;
  8372. end;
  8373.  
  8374. constructor TReplicaPointer.Create(AOwner: TComponent);
  8375. begin
  8376.   inherited Create(AOwner);
  8377.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8378.   FProps := TReplicaPointerProperties.Create(Self);
  8379.   {$ENDIF}
  8380. end;
  8381.  
  8382. destructor TReplicaPointer.Destroy;
  8383. begin
  8384.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8385.   FProps.Free;
  8386.   {$ENDIF}
  8387.   inherited Destroy;
  8388. end;
  8389.  
  8390. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8391.  
  8392. function TReplicaPointer.GetServerProperties: TReplicaPointerProperties;
  8393. begin
  8394.   Result := FProps;
  8395. end;
  8396. {$ENDIF}
  8397.  
  8398. function TReplicaPointer.Get_ServerName: WideString;
  8399. begin
  8400.   Result := DefaultInterface.Get_ServerName;
  8401. end;
  8402.  
  8403. procedure TReplicaPointer.Set_ServerName(const retval: WideString);
  8404. begin
  8405.   DefaultInterface.Set_ServerName(retval);
  8406. end;
  8407.  
  8408. function TReplicaPointer.Get_ReplicaType: Integer;
  8409. begin
  8410.   Result := DefaultInterface.Get_ReplicaType;
  8411. end;
  8412.  
  8413. procedure TReplicaPointer.Set_ReplicaType(retval: Integer);
  8414. begin
  8415.   DefaultInterface.Set_ReplicaType(retval);
  8416. end;
  8417.  
  8418. function TReplicaPointer.Get_ReplicaNumber: Integer;
  8419. begin
  8420.   Result := DefaultInterface.Get_ReplicaNumber;
  8421. end;
  8422.  
  8423. procedure TReplicaPointer.Set_ReplicaNumber(retval: Integer);
  8424. begin
  8425.   DefaultInterface.Set_ReplicaNumber(retval);
  8426. end;
  8427.  
  8428. function TReplicaPointer.Get_Count: Integer;
  8429. begin
  8430.   Result := DefaultInterface.Get_Count;
  8431. end;
  8432.  
  8433. procedure TReplicaPointer.Set_Count(retval: Integer);
  8434. begin
  8435.   DefaultInterface.Set_Count(retval);
  8436. end;
  8437.  
  8438. function TReplicaPointer.Get_ReplicaAddressHints: OleVariant;
  8439. begin
  8440.   Result := DefaultInterface.Get_ReplicaAddressHints;
  8441. end;
  8442.  
  8443. procedure TReplicaPointer.Set_ReplicaAddressHints(retval: OleVariant);
  8444. begin
  8445.   DefaultInterface.Set_ReplicaAddressHints(retval);
  8446. end;
  8447.  
  8448. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8449.  
  8450. constructor TReplicaPointerProperties.Create(AServer: TReplicaPointer);
  8451. begin
  8452.   inherited Create;
  8453.   FServer := AServer;
  8454. end;
  8455.  
  8456. function TReplicaPointerProperties.GetDefaultInterface: IADsReplicaPointer;
  8457. begin
  8458.   Result := FServer.DefaultInterface;
  8459. end;
  8460.  
  8461. function TReplicaPointerProperties.Get_ServerName: WideString;
  8462. begin
  8463.   Result := DefaultInterface.Get_ServerName;
  8464. end;
  8465.  
  8466. procedure TReplicaPointerProperties.Set_ServerName(const retval: WideString);
  8467. begin
  8468.   DefaultInterface.Set_ServerName(retval);
  8469. end;
  8470.  
  8471. function TReplicaPointerProperties.Get_ReplicaType: Integer;
  8472. begin
  8473.   Result := DefaultInterface.Get_ReplicaType;
  8474. end;
  8475.  
  8476. procedure TReplicaPointerProperties.Set_ReplicaType(retval: Integer);
  8477. begin
  8478.   DefaultInterface.Set_ReplicaType(retval);
  8479. end;
  8480.  
  8481. function TReplicaPointerProperties.Get_ReplicaNumber: Integer;
  8482. begin
  8483.   Result := DefaultInterface.Get_ReplicaNumber;
  8484. end;
  8485.  
  8486. procedure TReplicaPointerProperties.Set_ReplicaNumber(retval: Integer);
  8487. begin
  8488.   DefaultInterface.Set_ReplicaNumber(retval);
  8489. end;
  8490.  
  8491. function TReplicaPointerProperties.Get_Count: Integer;
  8492. begin
  8493.   Result := DefaultInterface.Get_Count;
  8494. end;
  8495.  
  8496. procedure TReplicaPointerProperties.Set_Count(retval: Integer);
  8497. begin
  8498.   DefaultInterface.Set_Count(retval);
  8499. end;
  8500.  
  8501. function TReplicaPointerProperties.Get_ReplicaAddressHints: OleVariant;
  8502. begin
  8503.   Result := DefaultInterface.Get_ReplicaAddressHints;
  8504. end;
  8505.  
  8506. procedure TReplicaPointerProperties.Set_ReplicaAddressHints(retval: OleVariant);
  8507. begin
  8508.   DefaultInterface.Set_ReplicaAddressHints(retval);
  8509. end;
  8510.  
  8511. {$ENDIF}
  8512.  
  8513. class function CoAcl.Create: IADsAcl;
  8514. begin
  8515.   Result := CreateComObject(CLASS_Acl) as IADsAcl;
  8516. end;
  8517.  
  8518. class function CoAcl.CreateRemote(const MachineName: string): IADsAcl;
  8519. begin
  8520.   Result := CreateRemoteComObject(MachineName, CLASS_Acl) as IADsAcl;
  8521. end;
  8522.  
  8523. procedure TAcl.InitServerData;
  8524. const
  8525.   CServerData: TServerData = (
  8526.     ClassID: '{7AF1EFB6-0869-11D1-A377-00C04FB950DC}';
  8527.     IntfIID: '{8452D3AB-0869-11D1-A377-00C04FB950DC}';
  8528.     EventIID: '';
  8529.     LicenseKey: nil;
  8530.     Version: 500);
  8531. begin
  8532.   ServerData := @CServerData;
  8533. end;
  8534.  
  8535. procedure TAcl.Connect;
  8536. var
  8537.   punk: IUnknown;
  8538. begin
  8539.   if FIntf = nil then begin
  8540.     punk := GetServer;
  8541.     Fintf := punk as IADsAcl;
  8542.   end;
  8543. end;
  8544.  
  8545. procedure TAcl.ConnectTo(svrIntf: IADsAcl);
  8546. begin
  8547.   Disconnect;
  8548.   FIntf := svrIntf;
  8549. end;
  8550.  
  8551. procedure TAcl.DisConnect;
  8552. begin
  8553.   if Fintf <> nil then begin
  8554.     FIntf := nil;
  8555.   end;
  8556. end;
  8557.  
  8558. function TAcl.GetDefaultInterface: IADsAcl;
  8559. begin
  8560.   if FIntf = nil then
  8561.     Connect;
  8562.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8563.   Result := FIntf;
  8564. end;
  8565.  
  8566. constructor TAcl.Create(AOwner: TComponent);
  8567. begin
  8568.   inherited Create(AOwner);
  8569.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8570.   FProps := TAclProperties.Create(Self);
  8571.   {$ENDIF}
  8572. end;
  8573.  
  8574. destructor TAcl.Destroy;
  8575. begin
  8576.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8577.   FProps.Free;
  8578.   {$ENDIF}
  8579.   inherited Destroy;
  8580. end;
  8581.  
  8582. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8583.  
  8584. function TAcl.GetServerProperties: TAclProperties;
  8585. begin
  8586.   Result := FProps;
  8587. end;
  8588. {$ENDIF}
  8589.  
  8590. function TAcl.Get_ProtectedAttrName: WideString;
  8591. begin
  8592.   Result := DefaultInterface.Get_ProtectedAttrName;
  8593. end;
  8594.  
  8595. procedure TAcl.Set_ProtectedAttrName(const retval: WideString);
  8596. begin
  8597.   DefaultInterface.Set_ProtectedAttrName(retval);
  8598. end;
  8599.  
  8600. function TAcl.Get_SubjectName: WideString;
  8601. begin
  8602.   Result := DefaultInterface.Get_SubjectName;
  8603. end;
  8604.  
  8605. procedure TAcl.Set_SubjectName(const retval: WideString);
  8606. begin
  8607.   DefaultInterface.Set_SubjectName(retval);
  8608. end;
  8609.  
  8610. function TAcl.Get_Privileges: Integer;
  8611. begin
  8612.   Result := DefaultInterface.Get_Privileges;
  8613. end;
  8614.  
  8615. procedure TAcl.Set_Privileges(retval: Integer);
  8616. begin
  8617.   DefaultInterface.Set_Privileges(retval);
  8618. end;
  8619.  
  8620. function TAcl.CopyAcl: IDispatch;
  8621. begin
  8622.   Result := DefaultInterface.CopyAcl;
  8623. end;
  8624.  
  8625. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8626.  
  8627. constructor TAclProperties.Create(AServer: TAcl);
  8628. begin
  8629.   inherited Create;
  8630.   FServer := AServer;
  8631. end;
  8632.  
  8633. function TAclProperties.GetDefaultInterface: IADsAcl;
  8634. begin
  8635.   Result := FServer.DefaultInterface;
  8636. end;
  8637.  
  8638. function TAclProperties.Get_ProtectedAttrName: WideString;
  8639. begin
  8640.   Result := DefaultInterface.Get_ProtectedAttrName;
  8641. end;
  8642.  
  8643. procedure TAclProperties.Set_ProtectedAttrName(const retval: WideString);
  8644. begin
  8645.   DefaultInterface.Set_ProtectedAttrName(retval);
  8646. end;
  8647.  
  8648. function TAclProperties.Get_SubjectName: WideString;
  8649. begin
  8650.   Result := DefaultInterface.Get_SubjectName;
  8651. end;
  8652.  
  8653. procedure TAclProperties.Set_SubjectName(const retval: WideString);
  8654. begin
  8655.   DefaultInterface.Set_SubjectName(retval);
  8656. end;
  8657.  
  8658. function TAclProperties.Get_Privileges: Integer;
  8659. begin
  8660.   Result := DefaultInterface.Get_Privileges;
  8661. end;
  8662.  
  8663. procedure TAclProperties.Set_Privileges(retval: Integer);
  8664. begin
  8665.   DefaultInterface.Set_Privileges(retval);
  8666. end;
  8667.  
  8668. {$ENDIF}
  8669.  
  8670. class function CoTimestamp.Create: IADsTimestamp;
  8671. begin
  8672.   Result := CreateComObject(CLASS_Timestamp) as IADsTimestamp;
  8673. end;
  8674.  
  8675. class function CoTimestamp.CreateRemote(const MachineName: string): IADsTimestamp;
  8676. begin
  8677.   Result := CreateRemoteComObject(MachineName, CLASS_Timestamp) as IADsTimestamp;
  8678. end;
  8679.  
  8680. procedure TTimestamp.InitServerData;
  8681. const
  8682.   CServerData: TServerData = (
  8683.     ClassID: '{B2BED2EB-4080-11D1-A3AC-00C04FB950DC}';
  8684.     IntfIID: '{B2F5A901-4080-11D1-A3AC-00C04FB950DC}';
  8685.     EventIID: '';
  8686.     LicenseKey: nil;
  8687.     Version: 500);
  8688. begin
  8689.   ServerData := @CServerData;
  8690. end;
  8691.  
  8692. procedure TTimestamp.Connect;
  8693. var
  8694.   punk: IUnknown;
  8695. begin
  8696.   if FIntf = nil then begin
  8697.     punk := GetServer;
  8698.     Fintf := punk as IADsTimestamp;
  8699.   end;
  8700. end;
  8701.  
  8702. procedure TTimestamp.ConnectTo(svrIntf: IADsTimestamp);
  8703. begin
  8704.   Disconnect;
  8705.   FIntf := svrIntf;
  8706. end;
  8707.  
  8708. procedure TTimestamp.DisConnect;
  8709. begin
  8710.   if Fintf <> nil then begin
  8711.     FIntf := nil;
  8712.   end;
  8713. end;
  8714.  
  8715. function TTimestamp.GetDefaultInterface: IADsTimestamp;
  8716. begin
  8717.   if FIntf = nil then
  8718.     Connect;
  8719.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8720.   Result := FIntf;
  8721. end;
  8722.  
  8723. constructor TTimestamp.Create(AOwner: TComponent);
  8724. begin
  8725.   inherited Create(AOwner);
  8726.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8727.   FProps := TTimestampProperties.Create(Self);
  8728.   {$ENDIF}
  8729. end;
  8730.  
  8731. destructor TTimestamp.Destroy;
  8732. begin
  8733.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8734.   FProps.Free;
  8735.   {$ENDIF}
  8736.   inherited Destroy;
  8737. end;
  8738.  
  8739. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8740.  
  8741. function TTimestamp.GetServerProperties: TTimestampProperties;
  8742. begin
  8743.   Result := FProps;
  8744. end;
  8745. {$ENDIF}
  8746.  
  8747. function TTimestamp.Get_WholeSeconds: Integer;
  8748. begin
  8749.   Result := DefaultInterface.Get_WholeSeconds;
  8750. end;
  8751.  
  8752. procedure TTimestamp.Set_WholeSeconds(retval: Integer);
  8753. begin
  8754.   DefaultInterface.Set_WholeSeconds(retval);
  8755. end;
  8756.  
  8757. function TTimestamp.Get_EventID: Integer;
  8758. begin
  8759.   Result := DefaultInterface.Get_EventID;
  8760. end;
  8761.  
  8762. procedure TTimestamp.Set_EventID(retval: Integer);
  8763. begin
  8764.   DefaultInterface.Set_EventID(retval);
  8765. end;
  8766.  
  8767. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8768.  
  8769. constructor TTimestampProperties.Create(AServer: TTimestamp);
  8770. begin
  8771.   inherited Create;
  8772.   FServer := AServer;
  8773. end;
  8774.  
  8775. function TTimestampProperties.GetDefaultInterface: IADsTimestamp;
  8776. begin
  8777.   Result := FServer.DefaultInterface;
  8778. end;
  8779.  
  8780. function TTimestampProperties.Get_WholeSeconds: Integer;
  8781. begin
  8782.   Result := DefaultInterface.Get_WholeSeconds;
  8783. end;
  8784.  
  8785. procedure TTimestampProperties.Set_WholeSeconds(retval: Integer);
  8786. begin
  8787.   DefaultInterface.Set_WholeSeconds(retval);
  8788. end;
  8789.  
  8790. function TTimestampProperties.Get_EventID: Integer;
  8791. begin
  8792.   Result := DefaultInterface.Get_EventID;
  8793. end;
  8794.  
  8795. procedure TTimestampProperties.Set_EventID(retval: Integer);
  8796. begin
  8797.   DefaultInterface.Set_EventID(retval);
  8798. end;
  8799.  
  8800. {$ENDIF}
  8801.  
  8802. class function CoPostalAddress.Create: IADsPostalAddress;
  8803. begin
  8804.   Result := CreateComObject(CLASS_PostalAddress) as IADsPostalAddress;
  8805. end;
  8806.  
  8807. class function CoPostalAddress.CreateRemote(const MachineName: string): IADsPostalAddress;
  8808. begin
  8809.   Result := CreateRemoteComObject(MachineName, CLASS_PostalAddress) as IADsPostalAddress;
  8810. end;
  8811.  
  8812. procedure TPostalAddress.InitServerData;
  8813. const
  8814.   CServerData: TServerData = (
  8815.     ClassID: '{0A75AFCD-4680-11D1-A3B4-00C04FB950DC}';
  8816.     IntfIID: '{7ADECF29-4680-11D1-A3B4-00C04FB950DC}';
  8817.     EventIID: '';
  8818.     LicenseKey: nil;
  8819.     Version: 500);
  8820. begin
  8821.   ServerData := @CServerData;
  8822. end;
  8823.  
  8824. procedure TPostalAddress.Connect;
  8825. var
  8826.   punk: IUnknown;
  8827. begin
  8828.   if FIntf = nil then begin
  8829.     punk := GetServer;
  8830.     Fintf := punk as IADsPostalAddress;
  8831.   end;
  8832. end;
  8833.  
  8834. procedure TPostalAddress.ConnectTo(svrIntf: IADsPostalAddress);
  8835. begin
  8836.   Disconnect;
  8837.   FIntf := svrIntf;
  8838. end;
  8839.  
  8840. procedure TPostalAddress.DisConnect;
  8841. begin
  8842.   if Fintf <> nil then begin
  8843.     FIntf := nil;
  8844.   end;
  8845. end;
  8846.  
  8847. function TPostalAddress.GetDefaultInterface: IADsPostalAddress;
  8848. begin
  8849.   if FIntf = nil then
  8850.     Connect;
  8851.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8852.   Result := FIntf;
  8853. end;
  8854.  
  8855. constructor TPostalAddress.Create(AOwner: TComponent);
  8856. begin
  8857.   inherited Create(AOwner);
  8858.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8859.   FProps := TPostalAddressProperties.Create(Self);
  8860.   {$ENDIF}
  8861. end;
  8862.  
  8863. destructor TPostalAddress.Destroy;
  8864. begin
  8865.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8866.   FProps.Free;
  8867.   {$ENDIF}
  8868.   inherited Destroy;
  8869. end;
  8870.  
  8871. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8872.  
  8873. function TPostalAddress.GetServerProperties: TPostalAddressProperties;
  8874. begin
  8875.   Result := FProps;
  8876. end;
  8877. {$ENDIF}
  8878.  
  8879. function TPostalAddress.Get_PostalAddress: OleVariant;
  8880. begin
  8881.   Result := DefaultInterface.Get_PostalAddress;
  8882. end;
  8883.  
  8884. procedure TPostalAddress.Set_PostalAddress(retval: OleVariant);
  8885. begin
  8886.   DefaultInterface.Set_PostalAddress(retval);
  8887. end;
  8888.  
  8889. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8890.  
  8891. constructor TPostalAddressProperties.Create(AServer: TPostalAddress);
  8892. begin
  8893.   inherited Create;
  8894.   FServer := AServer;
  8895. end;
  8896.  
  8897. function TPostalAddressProperties.GetDefaultInterface: IADsPostalAddress;
  8898. begin
  8899.   Result := FServer.DefaultInterface;
  8900. end;
  8901.  
  8902. function TPostalAddressProperties.Get_PostalAddress: OleVariant;
  8903. begin
  8904.   Result := DefaultInterface.Get_PostalAddress;
  8905. end;
  8906.  
  8907. procedure TPostalAddressProperties.Set_PostalAddress(retval: OleVariant);
  8908. begin
  8909.   DefaultInterface.Set_PostalAddress(retval);
  8910. end;
  8911.  
  8912. {$ENDIF}
  8913.  
  8914. class function CoBackLink.Create: IADsBackLink;
  8915. begin
  8916.   Result := CreateComObject(CLASS_BackLink) as IADsBackLink;
  8917. end;
  8918.  
  8919. class function CoBackLink.CreateRemote(const MachineName: string): IADsBackLink;
  8920. begin
  8921.   Result := CreateRemoteComObject(MachineName, CLASS_BackLink) as IADsBackLink;
  8922. end;
  8923.  
  8924. procedure TBackLink.InitServerData;
  8925. const
  8926.   CServerData: TServerData = (
  8927.     ClassID: '{FCBF906F-4080-11D1-A3AC-00C04FB950DC}';
  8928.     IntfIID: '{FD1302BD-4080-11D1-A3AC-00C04FB950DC}';
  8929.     EventIID: '';
  8930.     LicenseKey: nil;
  8931.     Version: 500);
  8932. begin
  8933.   ServerData := @CServerData;
  8934. end;
  8935.  
  8936. procedure TBackLink.Connect;
  8937. var
  8938.   punk: IUnknown;
  8939. begin
  8940.   if FIntf = nil then begin
  8941.     punk := GetServer;
  8942.     Fintf := punk as IADsBackLink;
  8943.   end;
  8944. end;
  8945.  
  8946. procedure TBackLink.ConnectTo(svrIntf: IADsBackLink);
  8947. begin
  8948.   Disconnect;
  8949.   FIntf := svrIntf;
  8950. end;
  8951.  
  8952. procedure TBackLink.DisConnect;
  8953. begin
  8954.   if Fintf <> nil then begin
  8955.     FIntf := nil;
  8956.   end;
  8957. end;
  8958.  
  8959. function TBackLink.GetDefaultInterface: IADsBackLink;
  8960. begin
  8961.   if FIntf = nil then
  8962.     Connect;
  8963.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  8964.   Result := FIntf;
  8965. end;
  8966.  
  8967. constructor TBackLink.Create(AOwner: TComponent);
  8968. begin
  8969.   inherited Create(AOwner);
  8970.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8971.   FProps := TBackLinkProperties.Create(Self);
  8972.   {$ENDIF}
  8973. end;
  8974.  
  8975. destructor TBackLink.Destroy;
  8976. begin
  8977.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8978.   FProps.Free;
  8979.   {$ENDIF}
  8980.   inherited Destroy;
  8981. end;
  8982.  
  8983. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  8984.  
  8985. function TBackLink.GetServerProperties: TBackLinkProperties;
  8986. begin
  8987.   Result := FProps;
  8988. end;
  8989. {$ENDIF}
  8990.  
  8991. function TBackLink.Get_RemoteID: Integer;
  8992. begin
  8993.   Result := DefaultInterface.Get_RemoteID;
  8994. end;
  8995.  
  8996. procedure TBackLink.Set_RemoteID(retval: Integer);
  8997. begin
  8998.   DefaultInterface.Set_RemoteID(retval);
  8999. end;
  9000.  
  9001. function TBackLink.Get_ObjectName: WideString;
  9002. begin
  9003.   Result := DefaultInterface.Get_ObjectName;
  9004. end;
  9005.  
  9006. procedure TBackLink.Set_ObjectName(const retval: WideString);
  9007. begin
  9008.   DefaultInterface.Set_ObjectName(retval);
  9009. end;
  9010.  
  9011. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9012.  
  9013. constructor TBackLinkProperties.Create(AServer: TBackLink);
  9014. begin
  9015.   inherited Create;
  9016.   FServer := AServer;
  9017. end;
  9018.  
  9019. function TBackLinkProperties.GetDefaultInterface: IADsBackLink;
  9020. begin
  9021.   Result := FServer.DefaultInterface;
  9022. end;
  9023.  
  9024. function TBackLinkProperties.Get_RemoteID: Integer;
  9025. begin
  9026.   Result := DefaultInterface.Get_RemoteID;
  9027. end;
  9028.  
  9029. procedure TBackLinkProperties.Set_RemoteID(retval: Integer);
  9030. begin
  9031.   DefaultInterface.Set_RemoteID(retval);
  9032. end;
  9033.  
  9034. function TBackLinkProperties.Get_ObjectName: WideString;
  9035. begin
  9036.   Result := DefaultInterface.Get_ObjectName;
  9037. end;
  9038.  
  9039. procedure TBackLinkProperties.Set_ObjectName(const retval: WideString);
  9040. begin
  9041.   DefaultInterface.Set_ObjectName(retval);
  9042. end;
  9043.  
  9044. {$ENDIF}
  9045.  
  9046. class function CoTypedName.Create: IADsTypedName;
  9047. begin
  9048.   Result := CreateComObject(CLASS_TypedName) as IADsTypedName;
  9049. end;
  9050.  
  9051. class function CoTypedName.CreateRemote(const MachineName: string): IADsTypedName;
  9052. begin
  9053.   Result := CreateRemoteComObject(MachineName, CLASS_TypedName) as IADsTypedName;
  9054. end;
  9055.  
  9056. procedure TTypedName.InitServerData;
  9057. const
  9058.   CServerData: TServerData = (
  9059.     ClassID: '{B33143CB-4080-11D1-A3AC-00C04FB950DC}';
  9060.     IntfIID: '{B371A349-4080-11D1-A3AC-00C04FB950DC}';
  9061.     EventIID: '';
  9062.     LicenseKey: nil;
  9063.     Version: 500);
  9064. begin
  9065.   ServerData := @CServerData;
  9066. end;
  9067.  
  9068. procedure TTypedName.Connect;
  9069. var
  9070.   punk: IUnknown;
  9071. begin
  9072.   if FIntf = nil then begin
  9073.     punk := GetServer;
  9074.     Fintf := punk as IADsTypedName;
  9075.   end;
  9076. end;
  9077.  
  9078. procedure TTypedName.ConnectTo(svrIntf: IADsTypedName);
  9079. begin
  9080.   Disconnect;
  9081.   FIntf := svrIntf;
  9082. end;
  9083.  
  9084. procedure TTypedName.DisConnect;
  9085. begin
  9086.   if Fintf <> nil then begin
  9087.     FIntf := nil;
  9088.   end;
  9089. end;
  9090.  
  9091. function TTypedName.GetDefaultInterface: IADsTypedName;
  9092. begin
  9093.   if FIntf = nil then
  9094.     Connect;
  9095.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  9096.   Result := FIntf;
  9097. end;
  9098.  
  9099. constructor TTypedName.Create(AOwner: TComponent);
  9100. begin
  9101.   inherited Create(AOwner);
  9102.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9103.   FProps := TTypedNameProperties.Create(Self);
  9104.   {$ENDIF}
  9105. end;
  9106.  
  9107. destructor TTypedName.Destroy;
  9108. begin
  9109.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9110.   FProps.Free;
  9111.   {$ENDIF}
  9112.   inherited Destroy;
  9113. end;
  9114.  
  9115. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9116.  
  9117. function TTypedName.GetServerProperties: TTypedNameProperties;
  9118. begin
  9119.   Result := FProps;
  9120. end;
  9121. {$ENDIF}
  9122.  
  9123. function TTypedName.Get_ObjectName: WideString;
  9124. begin
  9125.   Result := DefaultInterface.Get_ObjectName;
  9126. end;
  9127.  
  9128. procedure TTypedName.Set_ObjectName(const retval: WideString);
  9129. begin
  9130.   DefaultInterface.Set_ObjectName(retval);
  9131. end;
  9132.  
  9133. function TTypedName.Get_Level: Integer;
  9134. begin
  9135.   Result := DefaultInterface.Get_Level;
  9136. end;
  9137.  
  9138. procedure TTypedName.Set_Level(retval: Integer);
  9139. begin
  9140.   DefaultInterface.Set_Level(retval);
  9141. end;
  9142.  
  9143. function TTypedName.Get_Interval: Integer;
  9144. begin
  9145.   Result := DefaultInterface.Get_Interval;
  9146. end;
  9147.  
  9148. procedure TTypedName.Set_Interval(retval: Integer);
  9149. begin
  9150.   DefaultInterface.Set_Interval(retval);
  9151. end;
  9152.  
  9153. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9154.  
  9155. constructor TTypedNameProperties.Create(AServer: TTypedName);
  9156. begin
  9157.   inherited Create;
  9158.   FServer := AServer;
  9159. end;
  9160.  
  9161. function TTypedNameProperties.GetDefaultInterface: IADsTypedName;
  9162. begin
  9163.   Result := FServer.DefaultInterface;
  9164. end;
  9165.  
  9166. function TTypedNameProperties.Get_ObjectName: WideString;
  9167. begin
  9168.   Result := DefaultInterface.Get_ObjectName;
  9169. end;
  9170.  
  9171. procedure TTypedNameProperties.Set_ObjectName(const retval: WideString);
  9172. begin
  9173.   DefaultInterface.Set_ObjectName(retval);
  9174. end;
  9175.  
  9176. function TTypedNameProperties.Get_Level: Integer;
  9177. begin
  9178.   Result := DefaultInterface.Get_Level;
  9179. end;
  9180.  
  9181. procedure TTypedNameProperties.Set_Level(retval: Integer);
  9182. begin
  9183.   DefaultInterface.Set_Level(retval);
  9184. end;
  9185.  
  9186. function TTypedNameProperties.Get_Interval: Integer;
  9187. begin
  9188.   Result := DefaultInterface.Get_Interval;
  9189. end;
  9190.  
  9191. procedure TTypedNameProperties.Set_Interval(retval: Integer);
  9192. begin
  9193.   DefaultInterface.Set_Interval(retval);
  9194. end;
  9195.  
  9196. {$ENDIF}
  9197.  
  9198. class function CoHold.Create: IADsHold;
  9199. begin
  9200.   Result := CreateComObject(CLASS_Hold) as IADsHold;
  9201. end;
  9202.  
  9203. class function CoHold.CreateRemote(const MachineName: string): IADsHold;
  9204. begin
  9205.   Result := CreateRemoteComObject(MachineName, CLASS_Hold) as IADsHold;
  9206. end;
  9207.  
  9208. procedure THold.InitServerData;
  9209. const
  9210.   CServerData: TServerData = (
  9211.     ClassID: '{B3AD3E13-4080-11D1-A3AC-00C04FB950DC}';
  9212.     IntfIID: '{B3EB3B37-4080-11D1-A3AC-00C04FB950DC}';
  9213.     EventIID: '';
  9214.     LicenseKey: nil;
  9215.     Version: 500);
  9216. begin
  9217.   ServerData := @CServerData;
  9218. end;
  9219.  
  9220. procedure THold.Connect;
  9221. var
  9222.   punk: IUnknown;
  9223. begin
  9224.   if FIntf = nil then begin
  9225.     punk := GetServer;
  9226.     Fintf := punk as IADsHold;
  9227.   end;
  9228. end;
  9229.  
  9230. procedure THold.ConnectTo(svrIntf: IADsHold);
  9231. begin
  9232.   Disconnect;
  9233.   FIntf := svrIntf;
  9234. end;
  9235.  
  9236. procedure THold.DisConnect;
  9237. begin
  9238.   if Fintf <> nil then begin
  9239.     FIntf := nil;
  9240.   end;
  9241. end;
  9242.  
  9243. function THold.GetDefaultInterface: IADsHold;
  9244. begin
  9245.   if FIntf = nil then
  9246.     Connect;
  9247.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  9248.   Result := FIntf;
  9249. end;
  9250.  
  9251. constructor THold.Create(AOwner: TComponent);
  9252. begin
  9253.   inherited Create(AOwner);
  9254.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9255.   FProps := THoldProperties.Create(Self);
  9256.   {$ENDIF}
  9257. end;
  9258.  
  9259. destructor THold.Destroy;
  9260. begin
  9261.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9262.   FProps.Free;
  9263.   {$ENDIF}
  9264.   inherited Destroy;
  9265. end;
  9266.  
  9267. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9268.  
  9269. function THold.GetServerProperties: THoldProperties;
  9270. begin
  9271.   Result := FProps;
  9272. end;
  9273. {$ENDIF}
  9274.  
  9275. function THold.Get_ObjectName: WideString;
  9276. begin
  9277.   Result := DefaultInterface.Get_ObjectName;
  9278. end;
  9279.  
  9280. procedure THold.Set_ObjectName(const retval: WideString);
  9281. begin
  9282.   DefaultInterface.Set_ObjectName(retval);
  9283. end;
  9284.  
  9285. function THold.Get_Amount: Integer;
  9286. begin
  9287.   Result := DefaultInterface.Get_Amount;
  9288. end;
  9289.  
  9290. procedure THold.Set_Amount(retval: Integer);
  9291. begin
  9292.   DefaultInterface.Set_Amount(retval);
  9293. end;
  9294.  
  9295. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9296.  
  9297. constructor THoldProperties.Create(AServer: THold);
  9298. begin
  9299.   inherited Create;
  9300.   FServer := AServer;
  9301. end;
  9302.  
  9303. function THoldProperties.GetDefaultInterface: IADsHold;
  9304. begin
  9305.   Result := FServer.DefaultInterface;
  9306. end;
  9307.  
  9308. function THoldProperties.Get_ObjectName: WideString;
  9309. begin
  9310.   Result := DefaultInterface.Get_ObjectName;
  9311. end;
  9312.  
  9313. procedure THoldProperties.Set_ObjectName(const retval: WideString);
  9314. begin
  9315.   DefaultInterface.Set_ObjectName(retval);
  9316. end;
  9317.  
  9318. function THoldProperties.Get_Amount: Integer;
  9319. begin
  9320.   Result := DefaultInterface.Get_Amount;
  9321. end;
  9322.  
  9323. procedure THoldProperties.Set_Amount(retval: Integer);
  9324. begin
  9325.   DefaultInterface.Set_Amount(retval);
  9326. end;
  9327.  
  9328. {$ENDIF}
  9329.  
  9330. class function CoPathname.Create: IADsPathname;
  9331. begin
  9332.   Result := CreateComObject(CLASS_Pathname) as IADsPathname;
  9333. end;
  9334.  
  9335. class function CoPathname.CreateRemote(const MachineName: string): IADsPathname;
  9336. begin
  9337.   Result := CreateRemoteComObject(MachineName, CLASS_Pathname) as IADsPathname;
  9338. end;
  9339.  
  9340. procedure TPathname.InitServerData;
  9341. const
  9342.   CServerData: TServerData = (
  9343.     ClassID: '{080D0D78-F421-11D0-A36E-00C04FB950DC}';
  9344.     IntfIID: '{D592AED4-F420-11D0-A36E-00C04FB950DC}';
  9345.     EventIID: '';
  9346.     LicenseKey: nil;
  9347.     Version: 500);
  9348. begin
  9349.   ServerData := @CServerData;
  9350. end;
  9351.  
  9352. procedure TPathname.Connect;
  9353. var
  9354.   punk: IUnknown;
  9355. begin
  9356.   if FIntf = nil then begin
  9357.     punk := GetServer;
  9358.     Fintf := punk as IADsPathname;
  9359.   end;
  9360. end;
  9361.  
  9362. procedure TPathname.ConnectTo(svrIntf: IADsPathname);
  9363. begin
  9364.   Disconnect;
  9365.   FIntf := svrIntf;
  9366. end;
  9367.  
  9368. procedure TPathname.DisConnect;
  9369. begin
  9370.   if Fintf <> nil then begin
  9371.     FIntf := nil;
  9372.   end;
  9373. end;
  9374.  
  9375. function TPathname.GetDefaultInterface: IADsPathname;
  9376. begin
  9377.   if FIntf = nil then
  9378.     Connect;
  9379.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  9380.   Result := FIntf;
  9381. end;
  9382.  
  9383. constructor TPathname.Create(AOwner: TComponent);
  9384. begin
  9385.   inherited Create(AOwner);
  9386.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9387.   FProps := TPathnameProperties.Create(Self);
  9388.   {$ENDIF}
  9389. end;
  9390.  
  9391. destructor TPathname.Destroy;
  9392. begin
  9393.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9394.   FProps.Free;
  9395.   {$ENDIF}
  9396.   inherited Destroy;
  9397. end;
  9398.  
  9399. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9400.  
  9401. function TPathname.GetServerProperties: TPathnameProperties;
  9402. begin
  9403.   Result := FProps;
  9404. end;
  9405. {$ENDIF}
  9406.  
  9407. function TPathname.Get_EscapedMode: Integer;
  9408. begin
  9409.   Result := DefaultInterface.Get_EscapedMode;
  9410. end;
  9411.  
  9412. procedure TPathname.Set_EscapedMode(retval: Integer);
  9413. begin
  9414.   DefaultInterface.Set_EscapedMode(retval);
  9415. end;
  9416.  
  9417. procedure TPathname.Set_(const bstrADsPath: WideString; lnSetType: Integer);
  9418. begin
  9419.   DefaultInterface.Set_(bstrADsPath, lnSetType);
  9420. end;
  9421.  
  9422. procedure TPathname.SetDisplayType(lnDisplayType: Integer);
  9423. begin
  9424.   DefaultInterface.SetDisplayType(lnDisplayType);
  9425. end;
  9426.  
  9427. function TPathname.Retrieve(lnFormatType: Integer): WideString;
  9428. begin
  9429.   Result := DefaultInterface.Retrieve(lnFormatType);
  9430. end;
  9431.  
  9432. function TPathname.GetNumElements: Integer;
  9433. begin
  9434.   Result := DefaultInterface.GetNumElements;
  9435. end;
  9436.  
  9437. function TPathname.GetElement(lnElementIndex: Integer): WideString;
  9438. begin
  9439.   Result := DefaultInterface.GetElement(lnElementIndex);
  9440. end;
  9441.  
  9442. procedure TPathname.AddLeafElement(const bstrLeafElement: WideString);
  9443. begin
  9444.   DefaultInterface.AddLeafElement(bstrLeafElement);
  9445. end;
  9446.  
  9447. procedure TPathname.RemoveLeafElement;
  9448. begin
  9449.   DefaultInterface.RemoveLeafElement;
  9450. end;
  9451.  
  9452. function TPathname.CopyPath: IDispatch;
  9453. begin
  9454.   Result := DefaultInterface.CopyPath;
  9455. end;
  9456.  
  9457. function TPathname.GetEscapedElement(lnReserved: Integer; const bstrInStr: WideString): WideString;
  9458. begin
  9459.   Result := DefaultInterface.GetEscapedElement(lnReserved, bstrInStr);
  9460. end;
  9461.  
  9462. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9463.  
  9464. constructor TPathnameProperties.Create(AServer: TPathname);
  9465. begin
  9466.   inherited Create;
  9467.   FServer := AServer;
  9468. end;
  9469.  
  9470. function TPathnameProperties.GetDefaultInterface: IADsPathname;
  9471. begin
  9472.   Result := FServer.DefaultInterface;
  9473. end;
  9474.  
  9475. function TPathnameProperties.Get_EscapedMode: Integer;
  9476. begin
  9477.   Result := DefaultInterface.Get_EscapedMode;
  9478. end;
  9479.  
  9480. procedure TPathnameProperties.Set_EscapedMode(retval: Integer);
  9481. begin
  9482.   DefaultInterface.Set_EscapedMode(retval);
  9483. end;
  9484.  
  9485. {$ENDIF}
  9486.  
  9487. class function CoADSystemInfo.Create: IADsADSystemInfo;
  9488. begin
  9489.   Result := CreateComObject(CLASS_ADSystemInfo) as IADsADSystemInfo;
  9490. end;
  9491.  
  9492. class function CoADSystemInfo.CreateRemote(const MachineName: string): IADsADSystemInfo;
  9493. begin
  9494.   Result := CreateRemoteComObject(MachineName, CLASS_ADSystemInfo) as IADsADSystemInfo;
  9495. end;
  9496.  
  9497. procedure TADSystemInfo.InitServerData;
  9498. const
  9499.   CServerData: TServerData = (
  9500.     ClassID: '{50B6327F-AFD1-11D2-9CB9-0000F87A369E}';
  9501.     IntfIID: '{5BB11929-AFD1-11D2-9CB9-0000F87A369E}';
  9502.     EventIID: '';
  9503.     LicenseKey: nil;
  9504.     Version: 500);
  9505. begin
  9506.   ServerData := @CServerData;
  9507. end;
  9508.  
  9509. procedure TADSystemInfo.Connect;
  9510. var
  9511.   punk: IUnknown;
  9512. begin
  9513.   if FIntf = nil then begin
  9514.     punk := GetServer;
  9515.     Fintf := punk as IADsADSystemInfo;
  9516.   end;
  9517. end;
  9518.  
  9519. procedure TADSystemInfo.ConnectTo(svrIntf: IADsADSystemInfo);
  9520. begin
  9521.   Disconnect;
  9522.   FIntf := svrIntf;
  9523. end;
  9524.  
  9525. procedure TADSystemInfo.DisConnect;
  9526. begin
  9527.   if Fintf <> nil then begin
  9528.     FIntf := nil;
  9529.   end;
  9530. end;
  9531.  
  9532. function TADSystemInfo.GetDefaultInterface: IADsADSystemInfo;
  9533. begin
  9534.   if FIntf = nil then
  9535.     Connect;
  9536.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  9537.   Result := FIntf;
  9538. end;
  9539.  
  9540. constructor TADSystemInfo.Create(AOwner: TComponent);
  9541. begin
  9542.   inherited Create(AOwner);
  9543.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9544.   FProps := TADSystemInfoProperties.Create(Self);
  9545.   {$ENDIF}
  9546. end;
  9547.  
  9548. destructor TADSystemInfo.Destroy;
  9549. begin
  9550.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9551.   FProps.Free;
  9552.   {$ENDIF}
  9553.   inherited Destroy;
  9554. end;
  9555.  
  9556. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9557.  
  9558. function TADSystemInfo.GetServerProperties: TADSystemInfoProperties;
  9559. begin
  9560.   Result := FProps;
  9561. end;
  9562. {$ENDIF}
  9563.  
  9564. function TADSystemInfo.Get_UserName: WideString;
  9565. begin
  9566.   Result := DefaultInterface.Get_UserName;
  9567. end;
  9568.  
  9569. function TADSystemInfo.Get_ComputerName: WideString;
  9570. begin
  9571.   Result := DefaultInterface.Get_ComputerName;
  9572. end;
  9573.  
  9574. function TADSystemInfo.Get_SiteName: WideString;
  9575. begin
  9576.   Result := DefaultInterface.Get_SiteName;
  9577. end;
  9578.  
  9579. function TADSystemInfo.Get_DomainShortName: WideString;
  9580. begin
  9581.   Result := DefaultInterface.Get_DomainShortName;
  9582. end;
  9583.  
  9584. function TADSystemInfo.Get_DomainDNSName: WideString;
  9585. begin
  9586.   Result := DefaultInterface.Get_DomainDNSName;
  9587. end;
  9588.  
  9589. function TADSystemInfo.Get_ForestDNSName: WideString;
  9590. begin
  9591.   Result := DefaultInterface.Get_ForestDNSName;
  9592. end;
  9593.  
  9594. function TADSystemInfo.Get_PDCRoleOwner: WideString;
  9595. begin
  9596.   Result := DefaultInterface.Get_PDCRoleOwner;
  9597. end;
  9598.  
  9599. function TADSystemInfo.Get_SchemaRoleOwner: WideString;
  9600. begin
  9601.   Result := DefaultInterface.Get_SchemaRoleOwner;
  9602. end;
  9603.  
  9604. function TADSystemInfo.Get_IsNativeMode: WordBool;
  9605. begin
  9606.   Result := DefaultInterface.Get_IsNativeMode;
  9607. end;
  9608.  
  9609. function TADSystemInfo.GetAnyDCName: WideString;
  9610. begin
  9611.   Result := DefaultInterface.GetAnyDCName;
  9612. end;
  9613.  
  9614. function TADSystemInfo.GetDCSiteName(const szServer: WideString): WideString;
  9615. begin
  9616.   Result := DefaultInterface.GetDCSiteName(szServer);
  9617. end;
  9618.  
  9619. procedure TADSystemInfo.RefreshSchemaCache;
  9620. begin
  9621.   DefaultInterface.RefreshSchemaCache;
  9622. end;
  9623.  
  9624. function TADSystemInfo.GetTrees: OleVariant;
  9625. begin
  9626.   Result := DefaultInterface.GetTrees;
  9627. end;
  9628.  
  9629. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9630.  
  9631. constructor TADSystemInfoProperties.Create(AServer: TADSystemInfo);
  9632. begin
  9633.   inherited Create;
  9634.   FServer := AServer;
  9635. end;
  9636.  
  9637. function TADSystemInfoProperties.GetDefaultInterface: IADsADSystemInfo;
  9638. begin
  9639.   Result := FServer.DefaultInterface;
  9640. end;
  9641.  
  9642. function TADSystemInfoProperties.Get_UserName: WideString;
  9643. begin
  9644.   Result := DefaultInterface.Get_UserName;
  9645. end;
  9646.  
  9647. function TADSystemInfoProperties.Get_ComputerName: WideString;
  9648. begin
  9649.   Result := DefaultInterface.Get_ComputerName;
  9650. end;
  9651.  
  9652. function TADSystemInfoProperties.Get_SiteName: WideString;
  9653. begin
  9654.   Result := DefaultInterface.Get_SiteName;
  9655. end;
  9656.  
  9657. function TADSystemInfoProperties.Get_DomainShortName: WideString;
  9658. begin
  9659.   Result := DefaultInterface.Get_DomainShortName;
  9660. end;
  9661.  
  9662. function TADSystemInfoProperties.Get_DomainDNSName: WideString;
  9663. begin
  9664.   Result := DefaultInterface.Get_DomainDNSName;
  9665. end;
  9666.  
  9667. function TADSystemInfoProperties.Get_ForestDNSName: WideString;
  9668. begin
  9669.   Result := DefaultInterface.Get_ForestDNSName;
  9670. end;
  9671.  
  9672. function TADSystemInfoProperties.Get_PDCRoleOwner: WideString;
  9673. begin
  9674.   Result := DefaultInterface.Get_PDCRoleOwner;
  9675. end;
  9676.  
  9677. function TADSystemInfoProperties.Get_SchemaRoleOwner: WideString;
  9678. begin
  9679.   Result := DefaultInterface.Get_SchemaRoleOwner;
  9680. end;
  9681.  
  9682. function TADSystemInfoProperties.Get_IsNativeMode: WordBool;
  9683. begin
  9684.   Result := DefaultInterface.Get_IsNativeMode;
  9685. end;
  9686.  
  9687. {$ENDIF}
  9688.  
  9689. class function CoWinNTSystemInfo.Create: IADsWinNTSystemInfo;
  9690. begin
  9691.   Result := CreateComObject(CLASS_WinNTSystemInfo) as IADsWinNTSystemInfo;
  9692. end;
  9693.  
  9694. class function CoWinNTSystemInfo.CreateRemote(const MachineName: string): IADsWinNTSystemInfo;
  9695. begin
  9696.   Result := CreateRemoteComObject(MachineName, CLASS_WinNTSystemInfo) as IADsWinNTSystemInfo;
  9697. end;
  9698.  
  9699. procedure TWinNTSystemInfo.InitServerData;
  9700. const
  9701.   CServerData: TServerData = (
  9702.     ClassID: '{66182EC4-AFD1-11D2-9CB9-0000F87A369E}';
  9703.     IntfIID: '{6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}';
  9704.     EventIID: '';
  9705.     LicenseKey: nil;
  9706.     Version: 500);
  9707. begin
  9708.   ServerData := @CServerData;
  9709. end;
  9710.  
  9711. procedure TWinNTSystemInfo.Connect;
  9712. var
  9713.   punk: IUnknown;
  9714. begin
  9715.   if FIntf = nil then begin
  9716.     punk := GetServer;
  9717.     Fintf := punk as IADsWinNTSystemInfo;
  9718.   end;
  9719. end;
  9720.  
  9721. procedure TWinNTSystemInfo.ConnectTo(svrIntf: IADsWinNTSystemInfo);
  9722. begin
  9723.   Disconnect;
  9724.   FIntf := svrIntf;
  9725. end;
  9726.  
  9727. procedure TWinNTSystemInfo.DisConnect;
  9728. begin
  9729.   if Fintf <> nil then begin
  9730.     FIntf := nil;
  9731.   end;
  9732. end;
  9733.  
  9734. function TWinNTSystemInfo.GetDefaultInterface: IADsWinNTSystemInfo;
  9735. begin
  9736.   if FIntf = nil then
  9737.     Connect;
  9738.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  9739.   Result := FIntf;
  9740. end;
  9741.  
  9742. constructor TWinNTSystemInfo.Create(AOwner: TComponent);
  9743. begin
  9744.   inherited Create(AOwner);
  9745.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9746.   FProps := TWinNTSystemInfoProperties.Create(Self);
  9747.   {$ENDIF}
  9748. end;
  9749.  
  9750. destructor TWinNTSystemInfo.Destroy;
  9751. begin
  9752.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9753.   FProps.Free;
  9754.   {$ENDIF}
  9755.   inherited Destroy;
  9756. end;
  9757.  
  9758. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9759.  
  9760. function TWinNTSystemInfo.GetServerProperties: TWinNTSystemInfoProperties;
  9761. begin
  9762.   Result := FProps;
  9763. end;
  9764. {$ENDIF}
  9765.  
  9766. function TWinNTSystemInfo.Get_UserName: WideString;
  9767. begin
  9768.   Result := DefaultInterface.Get_UserName;
  9769. end;
  9770.  
  9771. function TWinNTSystemInfo.Get_ComputerName: WideString;
  9772. begin
  9773.   Result := DefaultInterface.Get_ComputerName;
  9774. end;
  9775.  
  9776. function TWinNTSystemInfo.Get_DomainName: WideString;
  9777. begin
  9778.   Result := DefaultInterface.Get_DomainName;
  9779. end;
  9780.  
  9781. function TWinNTSystemInfo.Get_PDC: WideString;
  9782. begin
  9783.   Result := DefaultInterface.Get_PDC;
  9784. end;
  9785.  
  9786. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9787.  
  9788. constructor TWinNTSystemInfoProperties.Create(AServer: TWinNTSystemInfo);
  9789. begin
  9790.   inherited Create;
  9791.   FServer := AServer;
  9792. end;
  9793.  
  9794. function TWinNTSystemInfoProperties.GetDefaultInterface: IADsWinNTSystemInfo;
  9795. begin
  9796.   Result := FServer.DefaultInterface;
  9797. end;
  9798.  
  9799. function TWinNTSystemInfoProperties.Get_UserName: WideString;
  9800. begin
  9801.   Result := DefaultInterface.Get_UserName;
  9802. end;
  9803.  
  9804. function TWinNTSystemInfoProperties.Get_ComputerName: WideString;
  9805. begin
  9806.   Result := DefaultInterface.Get_ComputerName;
  9807. end;
  9808.  
  9809. function TWinNTSystemInfoProperties.Get_DomainName: WideString;
  9810. begin
  9811.   Result := DefaultInterface.Get_DomainName;
  9812. end;
  9813.  
  9814. function TWinNTSystemInfoProperties.Get_PDC: WideString;
  9815. begin
  9816.   Result := DefaultInterface.Get_PDC;
  9817. end;
  9818.  
  9819. {$ENDIF}
  9820.  
  9821. class function CoDNWithBinary.Create: IADsDNWithBinary;
  9822. begin
  9823.   Result := CreateComObject(CLASS_DNWithBinary) as IADsDNWithBinary;
  9824. end;
  9825.  
  9826. class function CoDNWithBinary.CreateRemote(const MachineName: string): IADsDNWithBinary;
  9827. begin
  9828.   Result := CreateRemoteComObject(MachineName, CLASS_DNWithBinary) as IADsDNWithBinary;
  9829. end;
  9830.  
  9831. procedure TDNWithBinary.InitServerData;
  9832. const
  9833.   CServerData: TServerData = (
  9834.     ClassID: '{7E99C0A3-F935-11D2-BA96-00C04FB6D0D1}';
  9835.     IntfIID: '{7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}';
  9836.     EventIID: '';
  9837.     LicenseKey: nil;
  9838.     Version: 500);
  9839. begin
  9840.   ServerData := @CServerData;
  9841. end;
  9842.  
  9843. procedure TDNWithBinary.Connect;
  9844. var
  9845.   punk: IUnknown;
  9846. begin
  9847.   if FIntf = nil then begin
  9848.     punk := GetServer;
  9849.     Fintf := punk as IADsDNWithBinary;
  9850.   end;
  9851. end;
  9852.  
  9853. procedure TDNWithBinary.ConnectTo(svrIntf: IADsDNWithBinary);
  9854. begin
  9855.   Disconnect;
  9856.   FIntf := svrIntf;
  9857. end;
  9858.  
  9859. procedure TDNWithBinary.DisConnect;
  9860. begin
  9861.   if Fintf <> nil then begin
  9862.     FIntf := nil;
  9863.   end;
  9864. end;
  9865.  
  9866. function TDNWithBinary.GetDefaultInterface: IADsDNWithBinary;
  9867. begin
  9868.   if FIntf = nil then
  9869.     Connect;
  9870.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  9871.   Result := FIntf;
  9872. end;
  9873.  
  9874. constructor TDNWithBinary.Create(AOwner: TComponent);
  9875. begin
  9876.   inherited Create(AOwner);
  9877.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9878.   FProps := TDNWithBinaryProperties.Create(Self);
  9879.   {$ENDIF}
  9880. end;
  9881.  
  9882. destructor TDNWithBinary.Destroy;
  9883. begin
  9884.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9885.   FProps.Free;
  9886.   {$ENDIF}
  9887.   inherited Destroy;
  9888. end;
  9889.  
  9890. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9891.  
  9892. function TDNWithBinary.GetServerProperties: TDNWithBinaryProperties;
  9893. begin
  9894.   Result := FProps;
  9895. end;
  9896. {$ENDIF}
  9897.  
  9898. function TDNWithBinary.Get_BinaryValue: OleVariant;
  9899. begin
  9900.   Result := DefaultInterface.Get_BinaryValue;
  9901. end;
  9902.  
  9903. procedure TDNWithBinary.Set_BinaryValue(retval: OleVariant);
  9904. begin
  9905.   DefaultInterface.Set_BinaryValue(retval);
  9906. end;
  9907.  
  9908. function TDNWithBinary.Get_DNString: WideString;
  9909. begin
  9910.   Result := DefaultInterface.Get_DNString;
  9911. end;
  9912.  
  9913. procedure TDNWithBinary.Set_DNString(const retval: WideString);
  9914. begin
  9915.   DefaultInterface.Set_DNString(retval);
  9916. end;
  9917.  
  9918. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  9919.  
  9920. constructor TDNWithBinaryProperties.Create(AServer: TDNWithBinary);
  9921. begin
  9922.   inherited Create;
  9923.   FServer := AServer;
  9924. end;
  9925.  
  9926. function TDNWithBinaryProperties.GetDefaultInterface: IADsDNWithBinary;
  9927. begin
  9928.   Result := FServer.DefaultInterface;
  9929. end;
  9930.  
  9931. function TDNWithBinaryProperties.Get_BinaryValue: OleVariant;
  9932. begin
  9933.   Result := DefaultInterface.Get_BinaryValue;
  9934. end;
  9935.  
  9936. procedure TDNWithBinaryProperties.Set_BinaryValue(retval: OleVariant);
  9937. begin
  9938.   DefaultInterface.Set_BinaryValue(retval);
  9939. end;
  9940.  
  9941. function TDNWithBinaryProperties.Get_DNString: WideString;
  9942. begin
  9943.   Result := DefaultInterface.Get_DNString;
  9944. end;
  9945.  
  9946. procedure TDNWithBinaryProperties.Set_DNString(const retval: WideString);
  9947. begin
  9948.   DefaultInterface.Set_DNString(retval);
  9949. end;
  9950.  
  9951. {$ENDIF}
  9952.  
  9953. class function CoDNWithString.Create: IADsDNWithString;
  9954. begin
  9955.   Result := CreateComObject(CLASS_DNWithString) as IADsDNWithString;
  9956. end;
  9957.  
  9958. class function CoDNWithString.CreateRemote(const MachineName: string): IADsDNWithString;
  9959. begin
  9960.   Result := CreateRemoteComObject(MachineName, CLASS_DNWithString) as IADsDNWithString;
  9961. end;
  9962.  
  9963. procedure TDNWithString.InitServerData;
  9964. const
  9965.   CServerData: TServerData = (
  9966.     ClassID: '{334857CC-F934-11D2-BA96-00C04FB6D0D1}';
  9967.     IntfIID: '{370DF02E-F934-11D2-BA96-00C04FB6D0D1}';
  9968.     EventIID: '';
  9969.     LicenseKey: nil;
  9970.     Version: 500);
  9971. begin
  9972.   ServerData := @CServerData;
  9973. end;
  9974.  
  9975. procedure TDNWithString.Connect;
  9976. var
  9977.   punk: IUnknown;
  9978. begin
  9979.   if FIntf = nil then begin
  9980.     punk := GetServer;
  9981.     Fintf := punk as IADsDNWithString;
  9982.   end;
  9983. end;
  9984.  
  9985. procedure TDNWithString.ConnectTo(svrIntf: IADsDNWithString);
  9986. begin
  9987.   Disconnect;
  9988.   FIntf := svrIntf;
  9989. end;
  9990.  
  9991. procedure TDNWithString.DisConnect;
  9992. begin
  9993.   if Fintf <> nil then begin
  9994.     FIntf := nil;
  9995.   end;
  9996. end;
  9997.  
  9998. function TDNWithString.GetDefaultInterface: IADsDNWithString;
  9999. begin
  10000.   if FIntf = nil then
  10001.     Connect;
  10002.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  10003.   Result := FIntf;
  10004. end;
  10005.  
  10006. constructor TDNWithString.Create(AOwner: TComponent);
  10007. begin
  10008.   inherited Create(AOwner);
  10009.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  10010.   FProps := TDNWithStringProperties.Create(Self);
  10011.   {$ENDIF}
  10012. end;
  10013.  
  10014. destructor TDNWithString.Destroy;
  10015. begin
  10016.   {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  10017.   FProps.Free;
  10018.   {$ENDIF}
  10019.   inherited Destroy;
  10020. end;
  10021.  
  10022. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  10023.  
  10024. function TDNWithString.GetServerProperties: TDNWithStringProperties;
  10025. begin
  10026.   Result := FProps;
  10027. end;
  10028. {$ENDIF}
  10029.  
  10030. function TDNWithString.Get_StringValue: WideString;
  10031. begin
  10032.   Result := DefaultInterface.Get_StringValue;
  10033. end;
  10034.  
  10035. procedure TDNWithString.Set_StringValue(const retval: WideString);
  10036. begin
  10037.   DefaultInterface.Set_StringValue(retval);
  10038. end;
  10039.  
  10040. function TDNWithString.Get_DNString: WideString;
  10041. begin
  10042.   Result := DefaultInterface.Get_DNString;
  10043. end;
  10044.  
  10045. procedure TDNWithString.Set_DNString(const retval: WideString);
  10046. begin
  10047.   DefaultInterface.Set_DNString(retval);
  10048. end;
  10049.  
  10050. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  10051.  
  10052. constructor TDNWithStringProperties.Create(AServer: TDNWithString);
  10053. begin
  10054.   inherited Create;
  10055.   FServer := AServer;
  10056. end;
  10057.  
  10058. function TDNWithStringProperties.GetDefaultInterface: IADsDNWithString;
  10059. begin
  10060.   Result := FServer.DefaultInterface;
  10061. end;
  10062.  
  10063. function TDNWithStringProperties.Get_StringValue: WideString;
  10064. begin
  10065.   Result := DefaultInterface.Get_StringValue;
  10066. end;
  10067.  
  10068. procedure TDNWithStringProperties.Set_StringValue(const retval: WideString);
  10069. begin
  10070.   DefaultInterface.Set_StringValue(retval);
  10071. end;
  10072.  
  10073. function TDNWithStringProperties.Get_DNString: WideString;
  10074. begin
  10075.   Result := DefaultInterface.Get_DNString;
  10076. end;
  10077.  
  10078. procedure TDNWithStringProperties.Set_DNString(const retval: WideString);
  10079. begin
  10080.   DefaultInterface.Set_DNString(retval);
  10081. end;
  10082.  
  10083. {$ENDIF}
  10084.  
  10085. procedure Register;
  10086. begin
  10087.   RegisterComponents('ActiveX', [TPropertyEntry, TPropertyValue, TAccessControlEntry, TAccessControlList,
  10088.     TSecurityDescriptor, TLargeInteger, TNameTranslate, TCaseIgnoreList, TFaxNumber,
  10089.       TNetAddress, TOctetList, TEmail, TPath, TReplicaPointer,
  10090.       TAcl, TTimestamp, TPostalAddress, TBackLink, TTypedName,
  10091.       THold, TPathname, TADSystemInfo, TWinNTSystemInfo, TDNWithBinary,
  10092.       TDNWithString]);
  10093. end;
  10094.  
  10095. end.
  10096.  
  10097.  
  10098.